Hi Marc,

Sorry for the delay, I was not working on James for some days.

Le 01/12/2016 à 02:57, Marc Chamberlin a écrit :
Hi guys, I am attempting to upgrade our James 2.3.1 version of the server to the just released 3.0Beta 5 since we are anxious to provide an IMAP server. And I have to admit that I am having all kinds of troubles figuring out how to do so. Much of the documentation seems to be very incomplete, poorly written, and has lots of grammatical errors making comprehension even more challenging. That said, I have made progress and even have managed to get the new server up and running, albeit without enabling any of the IMAP, SMTP or POP3 services yet. I will report where I am at, troubles I have encountered, and what I have done to workaround things or am just plain stumped. If this is not the right forum for me to report/ask questions about installing 3.0 please redirect me to the right place.
It is the right place to talk about that, but PRs or Issues with link to actual problems are always better to receive than rants. We'll talk about specific problems mentioned below.

1. The first major problem I have encountered is that according to the instructions at https://james.apache.org/server/3/config-system.html it talks about the spring-server.xml file and states

"In James distribution, the spring files are located under conf/context folder and splitted into a main file (james-server-context.xml) which imports 4 other files (1 per mailbox type): james-mailbox-jcr-context.xml, james-mailbox-jpa-context.xml, james-mailbox-maildir-context.xml, james-mailbox-memory-context.xml."

I cannot locate any of these files and it appears that they were not included in the zip file that I downloaded. It appears, from other docs that I may need to configure these in regards to my database setup, but for now I am just punting on this and assuming that there is a default configuration in the jar files somewhere else.

I won't help you on spring, we try to maintain it on a working state but won't spend time documenting or trying to dig into its code. We rather use guice products that are way easier to manage for us.

People interested in using spring can do the job, we won't try to get ride of it if there's some interest.

If you want to try the guice version, we can definitely help.

2. This second issue is mostly a heads up/FYI but it cost me a lot of time trying to figure out what the problems were and track down so this ought to get fixed. On the website at https://james.apache.org/server/3/config.html it states -

"We ship with default configuration (embedded in jars) and -template files you can use to override the default configuration. Simply copy in conf folder *-template.xml to *.xml (example: smtpserver-template.xml to smtpserver.xml), and change in *.xml the settings to map your needs."

I do not believe this is true. There are a number of these template configuration files for which I HAD to remove the "-template" portion of the name in order for me to get the server up and running. So I am going to presume that for at least the following set of these config files there is NOT a default. (Incidentally, it is very difficult to grok the exception messages and stack walk backs to understand what was going wrong and I am not certain that I have captured all of these in my report here...)

indexer-template.xml
quota-template.xml
events-template.xml
managesieveserver-template.xml

Configuration in dockerfiles/run/* are working quite well, it's what we use to produce our docker images.

We know that there's too many config file in the source tree but didn't found the time to do a clean-up yet.

3. Another heads up/FYI. On the website at https://james.apache.org/server/3/config-mailrepositorystore.html it states -

"If the administrator wants to configure a database other than MySQL, it will be necessary to add the jar or zip file containing the JDBC driver classes to the lib subdirectory of the installation directory."

Again I am going to say this is not true. (Maybe for Derby?) I am going to want to use MySQL as I have it tied in with my Apache Tomcat server to better manage mail users and list members via a servlet. I had a devil of a time figuring out that I needed the mysql-connector-java-5.1.28-bin.jar and where to find it. But without it, trying to get the server up and running failed. It would be very helpful to mention where one can get connectors for the different kinds of databases commonly used/supported, IMHO.

We are not very experienced about that neither, sorry. Feel free to propose a PR to fix the doc.

4. Now I am stuck on this last issue, trying to grok the instructions at http://james.apache.org/server/3/upgrade-2.3.html First of all someone needs to re-write this page, the English and grammar is pretty bad and confusing.
Sorry, but it's free software, this "someone" doesn't exist, it's just an alias for "nobody". Most people are not english native and maybe you are more skilled than us to fix that.
My first issue is that in 2.3.1 I used the MySQL database to store user information. There is no description of what I need to do to migrate said information into 3.0. The example and file shows how to do this if one were using files to store user information, but not for a database.
I think some people worked on migration in the past. It's clearly out of scope for the 3.0 at the moment. I'd rather handle that as a 3.1 feature.

I am confused however, do I even need to do this? My experimentation seems to imply that I do, since I cannot get the CLI or JMX console to correctly respond to a listusers command, but why?
I use listusers frequently, what's your problem ?
Did the database schema change for 3.0? And if I do manage to get this migration step to work, will I ruin the database and make it unusable for James 2.3.1 to use it, should I need to drop back to it?

Also, it is not totally clear what I need to do about the actual mail store. Do I just copy the user directories over into the 3.0 server space? From what I am reading it does not sound like it will be that simple... So I need the details of what to do here...

We don't have the time to do the analysis about that, it's why I suggest to delay migration tasks after 3.0.
One last thought, I have never used a JMX console before, it might be helpful to supply a little more details/examples for us newbies to that tool...

There's plenty of tutorial about JMX on the web. There's not much to do to have it working, james listens on port 9999 on localhost, if you run a jmx tool on the same host, it's just a matter of having it connected.


Regards

--
Matthieu Baechler

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org

Reply via email to