[Zope] bug in zeo runner in Zope 2.8.6 ?

2006-04-04 Thread Vlada Macek
When I run zeoctl start having user zope (where zope is an
unprivileged user) directive in zeo.conf on a virgin instance directory,
at first log/zeo.log file with root owner is created, then the process
drops its privileges and timeouts, since it is not able to re-open the
logfile.

The problem is not imminent when starting ZEO like this:  su zope
bin/runzeo. That's because there is no chance of creating the logfile as
root.

I don't know whether this is already fixed in later stable versions, but
since 2.8.6 is still a recommended one for at least Plone and maybe
there are another fools like me who want to run ZEO unprivileged using
zeoctl, I'm reporting it. :)

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

 [ When you find a virus in mail from me, then I intended to infect you, ]
 [ since I use SW that is not distributing malware w/o my knowledge. ]



begin:vcard
fn:Vlada Macek
n:Macek;Vlada
adr:;;;Liberec;;;Czech Republic
email;internet:[EMAIL PROTECTED]
title:UNIX Admin  Developer
tel;cell:+420 608 978 164
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] SSL over Multiple Zope/Plone sites?

2006-03-29 Thread Vlada Macek
michael nt milne wrote:

 I'd like to implement SSL on the site login etc, as it's not secure
 without this. There's also one site I'd like to serve completely over
 https. However. I'm told that you can't run SSL on virtual hosts and
 can only have once SSL site per IP address.

To vary either IP address or port for different SSL site is a common
method and gives you the biggest advantages.

Nevetheless, you can host multiple SSL sites on single IP:port
combination, provided you share also a single certificate for them.
Apache is able to serve one cert for multiple SSL sites.

To prevent the annoying client-side dialog box saying the cert is for
different domain, your certificate must be a little special. There are 2
ways I'm aware of to manage this:

1) Wildcard certificate, issued for *.domain.com. This way the
certificate will match anything.domain.com, but anything must not
contain a dot. Also I'm not sure whether all current browsers support
this technique.

2) The subjectAltName capability as described here:
http://wiki.cacert.org/wiki/VhostsApache. Note that the CommonName must
be repeated as the first subjectAltName, since it's ignored afterwards.

I'm currently on my way to test the second way for my sites, but
preliminary tests went well.

-- 

\//\/\
(Sometimes credited as BA92 C339 6DD2 51F6 BACB 4C1B 5470 360E 20E5 926D.)

 [ When you find a virus in mail from me, then I intended to infect you, ]
 [ since I use SW that is not distributing malware w/o my knowledge. ]

begin:vcard
fn:Vlada Macek
n:Macek;Vlada
adr:;;;Liberec;;;Czech Republic
email;internet:[EMAIL PROTECTED]
title:UNIX Admin  Developer
tel;cell:+420 608 978 164
x-mozilla-html:FALSE
version:2.1
end:vcard

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: ZSQL with different user

2005-12-19 Thread Vlada Macek
 Andreas Jung wrote:

 --On 19. Dezember 2005 15:32:46 +0100 Pier Luigi Fiorini
 [EMAIL PROTECTED] wrote:

 Hello, I'm developing a Zope application that uses a PostgreSQL
 connection and several ZSQL objects. People should log in using a
 Postgres user and ZSQL object should be executed by the user
 that's logged in. Multiple people can be logged at the same time.
 Unfortunately it is not possible because the same Postgres
 connection is used by all the ZSQL object. Is there a way to
 change the user executing a ZSQL query?

 The short version: forget it. DA connections are tied to a
 particular user. Connections are persistent and shared across
 threads and requests. You really don't want to connect/re-connect
 for every request and user. You would have to implement your own
 connection management including connection pooling *somehow*.


I would also be interested in multiuser ZSQLs, though it's not my main
goal and I don't expect participating on such coding.

Provided there wont be thousands of users (mine number is just about
20), how about to create a pool of connections in some ZODB folder,
simply identified as sqlconn_jack, sqlconn_john, sqlconn_martin, ... and
teach ZSQLMethod to select appropriate connection upon request?

SQL connections currently support auto-connection upon request, so a
timeout disconnection would be nice added feature in this case, but for
small number of users it does not seem to be necessary.

I think this would be a considerable, but easily implemented, step to
obtain SQL userbase binding.

Is there a problem somewhere?

-- 
\//\/\

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: ZSQL with different user

2005-12-19 Thread Vlada Macek
[At 19.12.2005 18:02, Andreas Jung kindly sent the following quotation.]



 --On 19. Dezember 2005 17:54:31 +0100 Vlada Macek
 [EMAIL PROTECTED] wrote:

 Is there a problem somewhere?

 The problem is likely that someone needs to write the code :-)

Indeed, we have already voted for this. :-) I'm too unexperienced in
Zope coding. Just wanted to know whether my idea is sane.

-- 
\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] SQL transaction uncommited?

2005-12-17 Thread Vlada Macek
Hi,

in ZopeBook I read that Zope's transaction are tied to SQL backend's
ones. I do not know whether this applies to ZSQL methods only, but I
do not expect it. I got this table:

CREATE TABLE testtable
(
  id serial,  -- uses its own sequence
  n int4
);

I use PostgreSQL and I have psql (an interactive SQL processor) opened
and I'm watching the testtable and its primary key sequence object.
I'm writing a product tool and I test the SQL connection with the
following code:

def manage_afterAdd(self, item, container):
if item is self:
self.db = getattr(self,MY_CONNECTION_ID)._v_database_connection

def qry(self, query): 
results = self.db.query(query)
recs = {
'names': Results(results).names(),
'tuples': Results(results).tuples()
}
return recs

def test0(self):
self.qry('insert into testtable (n) values (10)')

def test1(self):
self.qry('insert into testtable (n) values (10)')
self.db.commit()

def test2(self):
self.qry('insert into testtable (n) values (10)')
self.qry('commit')

def test3(self):
self.qry('insert into testtable (n) values (10)')
return self.qry('select * from testtable')

def test4(self):
self.qry('insert into testtable (n) values (10); commit')

def test5(self):
self.qry('insert into testtable (n) values (10); commit')
return self.qry('select * from testtable')

When I call test0,1,2,3 -- the inserted row is not visible in psql,
but the sequence is incremented! I'm afraid there is some pending
transaction I cannot reach at that moment anymore.

The test4,5 properly add the row to table (and increment the seq of
course) as I can watch via psql immediatelly.

In test3 the returned result does not contain the new row, in test5
the new row is contained in select.

What am I doing wrong and how must I arrange it not need to care about
transactions at all? I expected the SQL transactions are transparent
in Zope and they are either commited when the webbrowser gets the
no-exception response and rolled back otherwise.

Thanks in advance!

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] SQL transaction uncommited?

2005-12-17 Thread Vlada Macek
[At 17.12.2005 13:49, Andreas Jung kindly sent the following quotation.]

 Dealing with transaction is the task of the database adapter and not
 the ZSQL methods. If you need to deal with transactions yourself you
 must subclass the transaction manager TM and implement the hooks for
 commit and abort (see TM.py).

Yes, I looked at TM.py. I should have mentioned that I use ZPsycopgDA
and ZPsycopgDA/db.py is subclassing and using TM already. So I was
expecting the _finish() and _abort() are bound to PostgreSQL in the SQL
connection I use.

In the meanwhile I also discovered that when I put my 'insert into
testtable...' to ZSQL method, the behavior is the same -- psql does not
see new row, but the sequence is incremented. Now it's strange, isn't?

With each ZSQL method call I now found out that a new connection to the
database is keeping opened and RowExclusiveLock for testtable and
AccessShareLock for its sequence is pending. In now have tens of
connections and locks from my tryings. I may did some error in
configuration, but I have no clue where and which.

Python 2.3.5, Zope 2.7.5-final, psycopg2-2.0b6, PostgreSQL 8.1.

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] SQL transaction uncommited?

2005-12-17 Thread Vlada Macek
[At 17.12.2005 15:17, Tino Wildenhain kindly sent the following quotation.]

In the meanwhile I also discovered that when I put my 'insert into
testtable...' to ZSQL method, the behavior is the same -- psql does not
see new row, but the sequence is incremented. Now it's strange, isn't?


Actually not. sequences are incremented under any circumstances.
Thats per definition.
  

By strange I meant the behaviour of ZSQL method is the same as my
product's. The seq incrementation is of course good thing. :-)

  

With each ZSQL method call I now found out that a new connection to the
database is keeping opened and RowExclusiveLock for testtable and
AccessShareLock for its sequence is pending. In now have tens of
connections and locks from my tryings. I may did some error in
configuration, but I have no clue where and which.

Python 2.3.5, Zope 2.7.5-final, psycopg2-2.0b6, PostgreSQL 8.1.



If all goes well and no exception bubbles up to the
zpublisher, it commits that transaction - both on zope and
the database. In your case something seems to prevent that,
this could be an error from one of your queries which you
swallow in some try:/except: somewhere?

Maybe you can lay out a simple test case where this happens.
  

After a further investigation, the test case is fairly narrow now:

I create a ZPsycopgDA (2.0b6) connection object (txn mode SERIALIZABLE).
I create a ZSQL method bound to this connection and containing insert
into testtable (n) values 1. When I use the Test tab to execute the
method, command executes ok (This statement returned no results.). And
the statement log of PostgreSQL shows:

Dec 17 15:22:09 postgres[19407]: [2-1] LOG:  connection received:
host=127.0.0.1 port=36685
Dec 17 15:22:09 postgres[19407]: [3-1] LOG:  connection authorized:
user=tuttle database=his
Dec 17 15:22:09 postgres[19407]: [4-1] LOG:  statement: SET DATESTYLE TO
'ISO'
Dec 17 15:22:09 postgres[19407]: [5-1] LOG:  statement: SHOW client_encoding
Dec 17 15:22:09 postgres[19407]: [6-1] LOG:  statement: SHOW
default_transaction_isolation
Dec 17 15:22:09 postgres[19407]: [7-1] LOG:  statement: BEGIN; SET
TRANSACTION ISOLATION LEVEL SERIALIZABLE
Dec 17 15:22:09 postgres[19407]: [8-1] LOG:  statement: insert into
testtable (n) values (1)

Dec 17 15:22:09 postgres[19408]: [2-1] LOG:  connection received:
host=127.0.0.1 port=36686
Dec 17 15:22:09 postgres[19408]: [3-1] LOG:  connection authorized:
user=tuttle database=his
Dec 17 15:22:09 postgres[19408]: [4-1] LOG:  statement: SET DATESTYLE TO
'ISO'
Dec 17 15:22:09 postgres[19408]: [5-1] LOG:  statement: SHOW client_encoding
Dec 17 15:22:09 postgres[19408]: [6-1] LOG:  statement: SHOW
default_transaction_isolation

Dec 17 15:22:09 postgres[19409]: [2-1] LOG:  connection received:
host=127.0.0.1 port=36687
Dec 17 15:22:09 postgres[19409]: [3-1] LOG:  connection authorized:
user=tuttle database=his
Dec 17 15:22:10 postgres[19409]: [4-1] LOG:  statement: SET DATESTYLE TO
'ISO'
Dec 17 15:22:10 postgres[19409]: [5-1] LOG:  statement: SHOW client_encoding
Dec 17 15:22:10 postgres[19409]: [6-1] LOG:  statement: SHOW
default_transaction_isolation

So the DA opens three connections forcing postgres to spawn new
processes. I don't know why. These connections are pending there.

What is serious here is the first connection with my statement is not
committed. I think this is a bug, probably in ZPsycopgDA.

Is there some other DA for PostgreSQL which is known to be stable and
with txns working properly? Should I try the psycopg1?

Thanks.

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)


___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] à l'aide

2005-12-16 Thread Vlada Macek
[At 15.12.2005 20:31, Tino Wildenhain kindly sent the following quotation.]

 You need python2.3.5 or higher and also -dev libs of it. If you run
 stable your python might be too far back

Some day maybe, but AFAIK not yet: Debian Sarge (stable release) has
Python 2.3.5 (default, dependency package python) and 2.4.1 (package
python2.4) officially. Debian testing and unstable releases has python
2.4.2.

I'm happily using compiled Zope against debian python package on my
Sarge server.

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Re: just curious: zope and ingres

2005-12-13 Thread Vlada Macek
[At 13.12.2005 01:17, Alexander Limi kindly sent the following quotation.]

 On Mon, 12 Dec 2005 08:33:25 -0800, Sascha Ottolski
 [EMAIL PROTECTED] wrote:

 I remembered reading about the plans to create RDBMS integration as
 alternative to ZODB about 1,5 years ago:

 http://www.zope.com/about_us/press_releases/ca_and_zope.html

 Doesn't seem to be alive anymore, right?

 CA seems to have dropped both Ingres and their involvement with Zope,
 so I believe that would be right, yes.

What a surprise when the people involved are not willing to proof-read
at least the title of the annoucements they make. };-]


-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] sql access style

2005-11-04 Thread Vlada Macek

I'm about to create a Zope (Plone, in fact) application, as a Package,
that will operate on data accessible via SQL (Firebird RDBMS). I'm
ordered the data must stay in SQL storage, not in ZODB.

Recently I found, outside of Zope, that using python-kinterbasdb module
is very straighforward and easy. It's simply about writing SQL
statements to Python code. Until then I thought I'll use usual ZSQL
Methods for each SQL statement in the application, but kinterbasdb seems
to allow a quickier developing.

First thing that arises is that I will need to keep the persistent
connection reference in the product instance, but it's bearable IMHO.

I'm unexperienced in this, please may I hear pros/cons of each method?
Thanks in advance.

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)


___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Help STX in UTF-8

2005-08-31 Thread Vlada Macek
I registered the help directory using

context.registerHelp(directory='help')

in my product's __init__.py. Then I placed UTF-8 encoded STX file in my
language there, but the help via ZMI is displayed with garbled UTF-8
chars. It's unreadable, but it is not the matter of browser's Display
encoding switch.

It's Zope 2.7.5. What can I do to display the file correctly?

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)


___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] howto i18n?

2005-08-10 Thread Vlada Macek
Hi,

for now I use the Zope 2.7.5 tarball. I write freelance (not bound in a
product) page template and wish it to be i18n'ed. I have appropriate
tags inside and the domain set at the top. There is also Plone with its
products in that instance.

Where should I put the PO files, so the messages can be substituted?

Thanks.

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] PCNG 1.2.7 does exception when being added.

2005-08-03 Thread Vlada Macek
I have the following configuration, both Zope and Plone are up to date
to these branches:

svn://svn.zope.org/repos/main/Zope/branches/Zope-2_8-branch
https://svn.plone.org/svn/plone/bundles/2.1

Plone version: Plone 2.1-beta2 (svn/unreleased)
Zope version: Zope (Zope 2.8.1-b1, python 2.3.5, linux2)
Python 2.3.5 (#2, May 4 2005, 08:51:39) [GCC 3.3.5 (Debian 1:3.3.5-12
Browser(s) and version(s): Firefox 1.0.4
Operating system: Linux Debian 3.1 (Sarge) stable


When I install PloneCollectorNG 1.2.5 from tar.gz and try to add the
pcng tracker from Plone, the following error will always rise:

Error Type
BadRequest
Error Value
The id plaintext_lexicon is invalid - it is already in use.

The full log item from the Plone Error Log is attached.

Is it that PCNG 1.2.7 cannot be used with recent SVN Zope/Plone? If so,
couldn't this be mentioned somewhere in the docs, please?

Thanks in advance.

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)


Čas
2005/08/03 18:45:45.912 GMT+2
Jméno uživatele
admin (admin)
Adresa URL požadavku
http://localhost:8080/HIS/sczescwerheerhdfb/createObject
Typ výjimky
BadRequest
Hodnota výjimky
The id plaintext_lexicon is invalid - it is already in use.

Traceback (innermost last):

* Module ZPublisher.Publish, line 113, in publish
* Module ZPublisher.mapply, line 88, in mapply
* Module ZPublisher.Publish, line 40, in call_object
* Module Products.CMFFormController.FSControllerPythonScript, line 105, in 
__call__
* Module Products.CMFFormController.Script, line 141, in __call__
* Module Products.CMFCore.FSPythonScript, line 108, in __call__
* Module Shared.DC.Scripts.Bindings, line 311, in __call__
* Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
* Module Products.CMFCore.FSPythonScript, line 163, in _exec
* Module None, line 16, in createObject
  FSControllerPythonScript at /HIS/createObject used for 
/HIS/sczescwerheerhdfb
  Line 16
* Module Products.ATContentTypes.lib.constraintypes, line 274, in 
invokeFactory
* Module Products.CMFCore.PortalFolder, line 408, in invokeFactory
* Module Products.CMFCore.TypesTool, line 930, in constructContent
* Module Products.CMFCore.TypesTool, line 340, in constructInstance
* Module Products.CMFCore.TypesTool, line 571, in _constructInstance
* Module Products.PloneCollectorNG.Collector, line 4, in addPloneCollectorNG
* Module OFS.ObjectManager, line 293, in _setObject
* Module Products.PloneCollectorNG.Collector, line 122, in manage_afterAdd
* Module Products.PloneCollectorNG.Collector, line 146, in setup_tools
* Module Products.PloneCollectorNG.Collector, line 162, in _setup_catalog
* Module Products.BTreeFolder2.BTreeFolder2, line 431, in _setObject
* Module Products.PloneCollectorNG.Collector, line 952, in manage_afterAdd
* Module Products.CMFCore.CatalogTool, line 184, in _initIndexes
* Module OFS.ObjectManager, line 265, in _setObject
* Module OFS.ObjectManager, line 84, in checkValidId

BadRequest: The id plaintext_lexicon is invalid - it is already in use.

REQUEST
form
type_name   'PloneCollectorNG'
cookies
tree-s  
'eJzTyCkw5NLIKTDiClZ3hANXW3WuAmOuRKCECUjWFEnWxzsQJGvGlQiSNkfR5wuSsQDKJCbqAQD1tBZ8'
zmi_top_frame   ''
zmi_use_css '1'
I18N_LANGUAGE   'cs'
dtpref_cols '95%'
__ac_name   'admin'
wstyle  ''
dtpref_rows '25'
photo_display   'large'
_ZopeId '40204748A18SzYLK0d0'
lazy items
other
zmi_top_frame   ''
tree-s  
'eJzTyCkw5NLIKTDiClZ3hANXW3WuAmOuRKCECUjWFEnWxzsQJGvGlQiSNkfR5wuSsQDKJCbqAQD1tBZ8'
URL3'http://localhost:8080'
URL2'http://localhost:8080/HIS'
AUTHENTICATION_PATH ''
LANGUAGE'cs'
AUTHENTICATED_USER  admin
type_name   'PloneCollectorNG'
SERVER_URL  'http://localhost:8080'
traverse_subpath[]
SESSION id: 11230875371247919349, token: 40204748A18SzYLK0d0, contents: []
dtpref_cols '95%'
__ac_name   'admin'
dtpref_rows '25'
ACTUAL_URL  'http://localhost:8080/HIS/sczescwerheerhdfb/createObject'
_ZopeId '40204748A18SzYLK0d0'
URL 'http://localhost:8080/HIS/sczescwerheerhdfb/createObject'
I18N_LANGUAGE   'cs'
wstyle  ''
PUBLISHED   FSControllerPythonScript at /HIS/createObject used for 
/HIS/sczescwerheerhdfb
controller_state
Products.CMFFormController.ControllerState.ControllerState object at 
0x4226364c
TraversalRequestNameStack   []
LANGUAGE_TOOL   Products.PloneLanguageTool.LanguageTool.LanguageBinding 
instance at 0x4488c90c
zmi_use_css '1'
BASE1   'http://localhost:8080'
BASE2   'http://localhost:8080/HIS'
BASE3   'http://localhost:8080/HIS/sczescwerheerhdfb'
BASE4   'http://localhost:8080/HIS/sczescwerheerhdfb/createObject'
URL1'http://localhost:8080/HIS/sczescwerheerhdfb'
photo_display   'large'
URL0http://localhost:8080/HIS/sczescwerheerhdfb/createObject
URL1http://localhost:8080/HIS/sczescwerheerhdfb
URL2