there is an xml file which comes with derby
 which has the database table
  information

see sqlresources.xml
 for some pointers
  in
  /Program Files/james-2.2.0/apps/james/conf/


Stefano Bagnara wrote:
Athar Shiraz Siddiqui ha scritto:
I want help from someone who can tell me : james does this to this
registry entry and does this to the environment variable etc. I can
handle the installer for windows.

There are no registry entries. Unzip the binary distribution and run the executable (run.bat for the prompt console, start.bat for the background process or the wrapper for the service). You just have to make sure there is an appropriate JVM (jre>=1.4) and a correct JAVA_HOME.

I would like to get to work on the web interface right away. I have
done tons of web gui programming. But I would like to know things like
DB schema and class diagrams and SOME documentation like maybe API. I
have never interfaced with a telnet console but I have written perl
scripts.

Unfortunately there is no db schema, no class diagrams and no management API docs. If you are a java developer and you checkout the code and start reading it, looking at how the db looks like after james creates it, understand it as an user then you will be able to make specific questions as developers, I (or anyone else) can try to answer your questions and maybe we can together produce some new faq/document for the next developer who will approach james.

I would prefer it if there is some James contributor in the Washington
DC/MD/VA area. I live near fairfax , va and work near McClean, VA.

Italy, sorry.

It is just easier. I have never contributed to open source projects so
I will need orientation with that please. Where to go?
I wish we could put time in setting up infrastructure to permit
programmers to contribute. You cannot have it grow as exponentially as
it ought to.

Hey.. it is not that we didn't write documentation by purpose. It is simply a fact that no one is payed to do this and developers often prefer to write codes instead of writing documentations. We never rejected documentations submitted by users, contributor or developers, simply it didn't come.
- http://james.apache.org/
- http://james.apache.org/server/index.html
- http://wiki.apache.org/james/
- the mailing lists archives
- the svn repositories (on svn.apache.org):
  v2.3: /repos/asf/james/server/branches/v2.3/
  trunk: /repos/asf/james/server/trunk/

Questions:

On Mon, May 5, 2008 at 9:49 AM, Stefano Bagnara <[EMAIL PROTECTED]> wrote:

In james v2.3 there is no management API, so you either interface with the
telnet console (Remote Manager) or you manually link to services or you
manually alter the database (for things where this is enough).

Ok I have written java/hibernate code to interact with the db but
telnet console?
Where is this db for james?

You can
1) Look at sqlResources.xml: this defines the CREATE/SELECT/UPDATE queries used by james for each supported database server. 2) Configure config.xml to use db and run james once: it will create the database it needs and you will be able to analyze created tables with the DB client tool you're used to.

 Our developers community is very small and with very limited time. We
already have difficulties in releasing some new code, so you understand that creating architectural diagrams, docs and more is something that it would be
cool to have, but sometimes this is not possible.

I would like to start with documentation and arch. diagrams etc. That
is critical to newcomers and fresh ideas and even updates, I feel.

If you dont know the roadmap how will you get to where you want to go?
We need some guy with project management background ; I can help with
that if no one volunteers.

No, we need people doing the work. You can't even imagine how many managers we have here. But 100 managers do not dig a single hole in the ground.
We don't have a roadmap, currently.
Personally speaking my last code contribution to james-server is dated december 2006.

 I can reply to specific questions, but I'm not ready to provide full
architectural diagrams or other docs. I can tell you that from a management point of view the latest development version is a lot different from v2.3.
We (maybe I should say Bernd!) introduced a lot of management/monitoring
interfaces/beans in trunk for this very purpose.

Cool. We need to work with something stable, dont we? I dont know much
about this but you have to help me out here : if the changes dont make
it how are we going to document or make contribs?
I have worked in 50+ developer environments with 6000+ classes using
primarily WSAD (websphere app developer/ IRAD IBM Rational app
developer; souped up eclipse editor);I have worked with JDK 1.4
primarily; J2EE tech like JSPs/JMS etc. (in the java realm) and
interfaced with oracle/db2/Mysql. That is just my java background.
I would say I want to understand the application first. Tell me if I am wrong.

Ok, now I know what is your background. I've a similar one.
James 2.3 is old but the only real/stable official release we have.
James trunk is much more modular, have a better factored architecture, have more features but is in stall since years because of a community issue. We are trying to fix this issues and newcomers are always welcome. I can tell you what I did in 2005 when I approached James the first time and there was no active developers. I checked out the sources and tried to understand what was there and how things worked. I tried to understand how the avalon framework (the "inversion of control" / "dependency injection" framework used in JAMES) works.

Once you understand how avalon framework works you can look at phoenix descriptors. This will give you an overview of avalon components.
In short:
james-assembly.xml (assembly.xml in our binary distro)
and *.xinfo files are what you have to look.
xinfo files describe components, service implemented by the component and service required by the component. the assembly instead define how the components are linked together to create james-server. The whole thing works because of the org.apache.avalon.framework.service.Serviceable interface implemented by our components and the fact that each component lookup its dependencies via the ServiceManager and the service name (assembly.xml is what tell you what concrete implementation you will get when you lookup for a given service).

HTH,
Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
Respectfully,

SFC Michael Dockery
c: 317 850 3829


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to