<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Nachricht</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>Hi 
Dylan,</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>I was 
curious enough to look after this, and here's what I discovered 
for version 5.3.3 (5.0 may be different!):</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>Short 
answer: Look at <FONT 
size=2>org.opencms.db.generic.CmsProjectDriver.fillDefaults().</FONT></FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>Long 
answer: </FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>The 
call stack while creating the users/groups/projects is</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2> CmsProjectDriver(CmsProjectDriver).fillDefaults()<BR> CmsDriverManager.init(ExtendedProperties, 
I_CmsVfsDriver, I_CmsUserDriver, I_CmsProjectDriver, I_CmsWorkflowDriver, 
I_CmsBackupDriver)<BR> CmsDriverManager.newInstance(ExtendedProperties)<BR> OpenCmsCore.initConfiguration(ExtendedProperties)</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2> OpenCmsCore.upgradeRunlevel(ExtendedProperties)<BR> CmsShell.<init>(String, 
String, I_CmsShellCommands)<BR> [...]</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>I 
called CmsShell as an easy way to boot OpenCms. OpenCms has three 
runlevels:</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2> (0 - Nothing's up)<BR> 1 - OpenCmsCore is created, some 
instances for managing vfs, user, project created initially<BR> 2 - 
Connection to database established, specific manager instances created, 
CmsObject singleton available<BR> 3 - Servlet-Context created for use of 
OpenCms in web context</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>We are 
stuck in upgrading runlevel to 2. In fact, CmsShell runs in level 2 only. 
OpenCmsCore (something like the operating system of OpenCms) initializes itself 
from the configuration (opencms.properties in 5.3.3). Here's where the names of 
the users/groups are taken (key db.default.users). The CmsDriverManager is 
constructed (a special version for your specific DBMS) and calls fillDefaults(). 
fillDefaults() also creates projects, i.e. the Online 
project.</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>As a 
matter of fact, the default users/groups/projects are created in every boot of 
OpenCms, not during installation.</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>It wasn't easy to find because fillDefaults() 
doesn't use the official Java-API (i.e. methods which are collected in 
CmsObject) but the primitive DB-specific calls in 
CmsDriverManager.</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>If you 
like to alter this, it should be straightforward to do, but coding is necessary. 
It doesn't help to just alter the value of db.default.users in 
opencms.properties, of course. I think, it's in it for localization 
only.</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff size=2>Hope 
this helps,</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2>Sebastian</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2>--</FONT></SPAN></DIV>
<DIV><SPAN class=695273312-04052004></SPAN><SPAN class=695273312-04052004><FONT 
face=Arial color=#0000ff size=2><FONT size=2>Sebastian Jekutsch<BR>Arbeitsgruppe 
Software Engineering<BR>Institut für Informatik<BR>Freie Universität 
Berlin<BR>Takustr. 9, 14195 Berlin, Germany<BR>+49 30 838 
75239</DIV></FONT></FONT></SPAN>
<DIV><SPAN class=695273312-04052004><FONT face=Arial color=#0000ff 
size=2> </DIV>
<DIV><BR></DIV></FONT></SPAN>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV></DIV>
  <DIV class=OutlookMessageHeader lang=de dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Ursprüngliche Nachricht-----<BR><B>Von:</B> 
  opencms-dev-admin@opencms.org [mailto:opencms-dev-admin@opencms.org] <B>Im 
  Auftrag von </B>Dylan Milks<BR><B>Gesendet:</B> Montag, 3. Mai 2004 
  23:36<BR><B>An:</B> OpenCMS Mailing List (E-mail)<BR><B>Betreff:</B> 
  [opencms-dev] Can someone please answer my question (very 
  important)<BR><BR></FONT></DIV>
  <DIV><SPAN class=554433221-03052004><FONT size=2>
  <DIV><FONT face=Verdana><SPAN class=562055320-27042004><SPAN 
  class=554433221-03052004>I've posted this question about 3 times over the last 
  week and a half. There's got to be someone who can answer it. I don't think 
  it's that hard of a question. I really need the help of the group 
  here.</SPAN></SPAN></FONT></DIV>
  <DIV><FONT face=Verdana><SPAN class=562055320-27042004><SPAN 
  class=554433221-03052004></SPAN></SPAN></FONT> </DIV>
  <DIV><FONT face=Verdana><SPAN class=562055320-27042004><SPAN 
  class=554433221-03052004>Here's the post again.</SPAN></SPAN></FONT></DIV>
  <DIV><FONT face=Verdana><SPAN 
  class=562055320-27042004></SPAN></FONT> </DIV>
  <DIV><FONT face=Verdana><SPAN class=562055320-27042004><SPAN 
  class=554433221-03052004>/***********************/</SPAN></SPAN></FONT></DIV>
  <DIV><FONT face=Verdana><SPAN 
  class=562055320-27042004></SPAN></FONT> </DIV>
  <DIV><SPAN class=562055320-27042004><FONT face=Verdana>Immediately following a 
  new install, the database contains some records. EX: CMS_USERS table has 2 
  entries - Guest and Admin. Where are these records inserted? It's easy to see 
  where the tables are created, but not where the<SPAN 
  class=554433221-03052004>se</SPAN> records are inserted. And where are these 
  default values <SPAN class=875590714-28042004>declared </SPAN>? (in 
  a properties or SQL file? I can't seem to find where.)<SPAN 
  class=875590714-28042004>  Nowhere do I see a call to the addUser method 
  where <SPAN class=554433221-03052004>(</SPAN>2, Admin, admin, ...<SPAN 
  class=554433221-03052004>)</SPAN> is passed in to do an 
  insert.</SPAN></FONT></SPAN></DIV>
  <DIV><FONT size=2><FONT face=Verdana size=+0><SPAN 
  class=562055320-27042004><SPAN 
  class=875590714-28042004></SPAN></SPAN></FONT></FONT> </DIV>
  <DIV><FONT size=2><SPAN class=562055320-27042004><FONT 
  face=Verdana>Thanks,<SPAN 
  class=875590714-28042004> </SPAN></FONT></SPAN></FONT></DIV>
  <DIV><FONT face=Verdana size=2><SPAN class=562055320-27042004>- 
  Dylan</SPAN></FONT></DIV></FONT></SPAN></DIV><!--[object_id=#SID=01050000000000051500000078006d1fc6bb507a75b9755471040000#]-->
  <P>
  <HR>
  <FONT size=2>This communication, including its attachments, if any, is 
  intended solely for the recipient; it is confidential and may contain personal 
  or private information, or proprietary and/or privileged material. As such, 
  any unauthorized use, retention, copying, disclosure or other distribution of 
  this communication, or the taking of any action in reliance on its 
  contents<BR>is strictly prohibited. If you have received this communication in 
  error, please notify us immediately and delete this communication (and any 
  attachments.)</FONT>
  <P></P>
  <P><FONT size=2></FONT> </P></BLOCKQUOTE></BODY></HTML>