Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 89390 invoked from network); 27 Mar 2007 09:50:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Mar 2007 09:50:56 -0000 Received: (qmail 80130 invoked by uid 500); 27 Mar 2007 09:51:01 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 80086 invoked by uid 500); 27 Mar 2007 09:51:01 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 79991 invoked by uid 99); 27 Mar 2007 09:51:00 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Mar 2007 02:51:00 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Mar 2007 02:50:52 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 9893171406C for ; Tue, 27 Mar 2007 02:50:32 -0700 (PDT) Message-ID: <18860868.1174989032622.JavaMail.jira@brutus> Date: Tue, 27 Mar 2007 02:50:32 -0700 (PDT) From: "Emmanuel Lecharny (JIRA)" To: dev@directory.apache.org Subject: [jira] Created: (DIRSERVER-883) Improve the way Schema are loaded MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Improve the way Schema are loaded --------------------------------- Key: DIRSERVER-883 URL: https://issues.apache.org/jira/browse/DIRSERVER-883 Project: Directory ApacheDS Issue Type: Improvement Affects Versions: 1.5.0 Reporter: Emmanuel Lecharny Fix For: 1.5.1 As far as I understand the way schema are loaded into 1.5.0 version of the server, we can improve it to be more versatile. We have 5 kind of elements which are part of the schema repository : 1) mandatory elements, like ObjectClass, Top, Name, Desc, any objects without which the server can't load a schema. 2) meta-schema elements, which are used to declare a new schema 3) core schemas, like Core, System, ApacheDs, which are loaded first 4) Extension schema, like Samba, Nis, etc. 5) User defined schema Right now, we have a bootstrap sequence which is quite complicated : 1) the server is started, and declare the mandatory elements 2) The metaSchema is loaded, with the core schema, from some generated java classes (the schema are only used when compiling the server, to generate those java classes) 3) The extended classes are loaded from some generated partition (there is a file named DBFILES which contains the list of all the backend files, files which will be created when compiling the server from the generated java classes) 4) the server is available. IMO, we can do the bootsrap differently : 1) server startup : we load the mandatory elements 2-a) if this is the first time the server is started, load the Ldif files representing the MetaSchema, and all the other Ldif files, so that the cn=schema partition is fed with the base and extended schema 2-b) if the schema is already loaded, do nothing except if we have one file which date is younger than the last modification date in the cn=schema partition. The list of schema ldif files will be stored into the server.xml file, assuming that the order must be corect (we must load core.schema before any other shcema, etc.) This process will be much simpler and easier to modify than the first one, and we will be able to remove some projects and plugins, like the apacheds-bootsrap-schema and apacheds-schema-extra projects. Not sure I'm totally right... Wdyt ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.