To convert a bulk of blog posts I created in the past years to the format of Deepest Sender I wrote a small Python script that converts all events from an iCalendar (.ics) file to XML files for Deepest Sender. By the way, this is my first real-world Python script and I am astonished as to the ease, clarity and brevity of Python. Note that you need to save the script posted here with UTF-8 encoding; line mangling is just a visibility / screen width and template problem, just copy and paste the source into a text editor and you’ll be fine! Have fun!

#! /usr/bin/env python
# -*- coding: utf_8 -*-
#
# converts an iCal file with blog entries (as appointments) to Deepest Sender XML
#
# Arguments (in order):
# file the iCal file to convert
# output directory directory where the output files for Deepest Sender go into, one per blog post
#
# The appointments in the iCal input file are converted one by one to blog post XML files as understood by the XUL dektop blogging
# plugin “Deepest Sender” (http://deepestsender.mozdev.org). An inferior alternative to this script’s approach is to convert a HTML
# table as produced by korganizer’s HTML table export format for appointments.
#
# iCal file prerequisites:
# all VEVENT components have the SUMMARY property (else output file name lacks a title)
# no two VEVENTS on one day have the same SUMMARY property (else output files are overwritten)
#
# Deepest sender file structure (note that it is UTF-8 encoded):
# <?xml version=”1.0″ encoding=”utf-8″?>
# <entry>
# <subject><![CDATA[blog entry title]]></subject>
# <event><![CDATA[blog entry content with HTML markup]]></event>
# </entry>
#
# TODO: the filename must only contain a date, not a time, even if the DTSTART property contains one
# TODO: write the values of the DTSTART, CREATED and LAST-MODIFIED properties into the blog post text (via component.decoded())

import sys # argv, …
from xml.dom.minidom import parse, parseString
from codecs import open # overwrite internal open() to enable UTF-8 file access
from icalendar import Calendar, Event
# get it from http://pypi.python.org/pypi/icalendar/1.2 ; if you don’t want to clutter your distro by installing it system-wide,
# copy the directory iCalendar-1.2/src/icalendar/ to the script’s directory

def filenamestr(thestring):
thestring = thestring.replace(‘ ‘,‘_’)
thestring = thestring.replace(u‘»’,)
thestring = thestring.replace(u‘«’,)
thestring = thestring.replace(‘/’,‘bzw.’) # slash in a filename is really bad …
while thestring[-1:] is ‘.’: # remove trailing dots as a dot and filename extension will be appended
thestring = thestring[:-1]
return thestring

calfilename = sys.argv[1]
cal = Calendar.from_string(open(calfilename,‘rb’).read())
outputdir = sys.argv[2]
while outputdir[-1:] is ‘/’: # remove trailing slash if present
outputdir = outputdir[:-1]

entrycount = 0;
for event in cal.walk(‘VEVENT’):
# decompose blog entry; event.decoded() is Unicode already
date = event.decoded(‘DTSTART’)
title = event.decoded(‘SUMMARY’)
content = event.decoded(‘DESCRIPTION’,)
content = content.replace(‘n’,‘<br />’) # the simplest means to convert text to HTML, just as Deepest Sender does when
# writing in WYSIWYG mode; we eliminate n here as blogger.com would create additional <br /> from this

print ‘[processing:’, date, title, ‘]’
# print event.property_items() # debug utility

# calculate output file’s name
filename = str(date) + ‘.PRIVATE.’ + filenamestr(title) + ‘.xml’

# write blog entry to its output file
dsfile = open(outputdir + ‘/’ + filename, ‘w’, ‘utf_8’) # will only accept Unicode strings!
dsfile.write(
u‘<?xml version=”1.0″ encoding=”utf-8″?>n’ +
u‘<entry>n’ +
u‘ <subject><![CDATA[‘ + title + u‘]]></subject>n’ +
u‘ <event><![CDATA[‘ + content + u‘<br /><br />Datum: ‘ + str(date) + u‘]]></event>n’ +
u‘</entry>n’
)
dsfile.close()
entrycount += 1

print ‘———-nconversion successful (‘ + str(entrycount) + ‘ entries processed)’

In my articles “The third way of life in this world” and “What kinda company with God is possible?” I argued that God’s mediate gifts are the normal case and immediate contact with God is the rare case. Immediate contact with a supernatural being as God is itself supernatural by character, and supernatural experiences are indeed the rare case in this life.
Thinking and talking about this again, I found that this is not all. My conception of classifying contact with God in the “mediate” and “immediate” area was simple but not enough. Between these is a third area, which I just touched in “The third way of life in this world” when I said:
There might be a greater number of cases where you cannot discern if it was really God (e.g. having some spontaneous thoughts, some visionary images and dreams, and for events where you suspect supernatural coordination). This is just normal and shouldn’t bother.
What I am going to do now is surveying well-founded reports from believers about this “cream white area” of contact with God. (Umh, this wording is just to avoid “grey area” to describe something undecidable … grey does not harmonize with God’s character as grey is boring and akin to darkness, and God hates darkness.) I will use here the Bible as my source for finding such reports. Before showing some examples I define interpretable immediate contact with God (or, creme white immediate contact) as something that fulfills these conditions:

  • What happens seems to be a context-sensitive and individual gift. It seems to be something intended for the present individual situation as it is quite rare (not one of those omnipresent or highly probable good things) and one of a small number of things that can help in the present situation.
  • No supernatural experiences are involved. Supernatural experiences include those which break the laws of nature, but also those which conform to the laws of nature but unquestionably show a supernatural agency. The latter is the case e.g. for prophetic dreams that reveal something to the dreamer he could not know – for example if a code appears in the dream like a bible verse reference, and the decoded verse hits to the ground of the situation.
  • The result is not the intended result of human agency. Both an immediate and mediate gift of God might involve a human being as the actual “giver”. If the gift’s effect is just what the human giver intended, this is a mediate gift: it’s good because God’s creation contains people who know what is good in a certain situation. If however the gift’s result was unpredictable by the human giver (e.g. comforting somebody regarding a problem unknown to the giver), this might be an immediate gift from God … and in other cases, chance.

Because no supernatural experiences are involved, one cannot unquestionably argue for God’s agency. But because what happens seems to be a context-sensitive gift which comes not from humans, the situation is open to interpret it as an immediate encounter with God. Such a situation is undecidable: this might be an immediate encounter with God (just implemented in natural means); or it might be a purely mediate gift which seems to be context-sensitive by chance. In any case, one has the same reason to praise God, but the amount of comfort to draw from this would be different. So in the practical case, interpretable immediate contact with God generates an amount of comfort between that of mediate gifts and (uninterpretable) immediate contact with God.

Cream white contact 1: God comforts Paul by the arrival of Titus

“But God, who comforts the downcast, comforted us by the coming of Titus, and not only by his coming but also by the comfort you had given him. He told us about your longing for me, your deep sorrow, your ardent concern for me, so that my joy was greater than ever.” (II Cor 7:6-7 NIV)

What does this mean?

Cream white contact 2: supernatural gifts

“If I speak in the tongues of men and of angels, but have not love, I am only a resounding gong or a clanging cymbal. If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing.” (I Cor 13:1-2 NIV)

This is case that hardly fits in the “cream white contact” category … because here, supernatural experiences are involved, but the other two above conditions apply: it seems to be an individual gift and the result is just as intended by the transmitting human. So, it has the “good, self-supporting system” character from mediate gifts, and the supernatural character from immediate gifts. One can clearly see God’s agency, but it is not clear what part of this gift’s context-sensitivity is God’s and what is human’s. So the immediateness of this gift form God remains open to interpretation.

When a man courts a woman, what is it, and what should it be?

You may recall your own experiences here, and I hope you agree that the worst thing that can be called “courting” is the uncovered, dumb, straightforward desire to get a woman into bed. And in the best case, courting is to long for her in a more subtle, less explicit way. What these courting styles have in common is that they express a longing. Now such a feeling is natural to have and not evil per se … nevertheless, it is egoistic if not complemented by love that wants to give.

Really, can anyone think a woman wants to be just longed for? Not rather, cared for, invited by her lover to come into a situation where she feels at home?

Note that this thought is inspired by observations: there are men, longing for a woman, perhaps getting one … but unable to live a love relationship with her as they never learned that their woman cannot be just the object to fulfill their longing.

Created: 2007-07-27 14:14
Last siginificant change: 2007-07-27 14:15

The thing searched after: life

As humans, we search for many different things: friends, food, love, a living room, sex, a notebook, a family, some money and so on. Let’s summarize: we search for a happy, meaningful life, for a life worth living. Some people argue that God is where to find life because the Bible says: “[G]odliness has value in all things, having the promise of the life which is now, and of that which is to come.” (I Tim 4:8). Sadly, these people are somewhat clueless how to take grasp of what God promised. They have taken different roads to live this life out, here called the “first” way and its counter movement, the “second” way. Sadly, these ways do not work in practice and are “religious”, as will be seen. As an alternative, the “third” way is developed, not by averaging the opposed extremes but by taking a third direction.

The first way: cloistered orthodox piety is life

When searching the life that God promised you will quickly hear that the “world” is evil and unholy. The first thing that comes to your mind is to avoid as much interaction with it as possible. What remains is your action-less faith, i.e. orthodoxy only: you know what is right and believe and say it, but you do not know how to experience it because spiritual things are invisible. So you simply repeat the orthodox spiritual facts over and over, and that’s all you do. The facts do not change and you see no reason why you should change how you repeat them, so things quickly develop into a formalistic, traditionalistic, liturgic faith ” life”. Needless to say that it does not feel at all like ” life”. This is not what you searched.

The second way: face-to-face community 24/7 with God is life

Now you think about your first way and you realize that you are far from the ” world” but you feel not near to God. You’ve heard that God is life so you decide to find close company with God in order to find life (and so did I). The intuitive conception of the closest company with God is perhaps as follows:

  • God speaks to you at least once in a day through spontaneous thoughts, visionary images, dreams and also with an acoustic voice.
  • The relationship to God is “symmetrical”: just as you direct prayers and worship to God directly and personally you expect him to direct answers and gifts to you directly and personally.
  • Experiencing the supernatural power of God and his Holy Spirit is the normal case: healings and other miracles are just as usual as one intuitively thinks they were in the book of Acts.
  • God speaks to your congregation regularly through concrete prophecies.

This conception of company with God is modeled after the personal, immediate face-to-face company we experience with other people. In this sense, it is very understandable. When it comes to practice, people often report the following as their experiences with God:

  • They report to feel and encounter the presence of God in a Sunday service.
  • They sometimes feel deeply emotionally touched when singing worship songs and take this for a direct encounter with God.
  • They report that God talked to them personally through a Bible passage they read in their Bible time. It might be a passage that really hit its reader and helped him in a special situation or acute problem.
  • They report that people prayed for them prophetically and it really hit to the ground of what they needed.
  • They believe that lots of the details in everyday life are coordinated by God. So if they had a good day they thank God for providing this good day for them.
  • They often have spontaneous thoughts and visionary images in their head and believe these to come from God.

When examining the biblical testimony, it is apparent that at least some such experiences are indeed possible:

  • On Pentecost, the first congregation of Christians had a direct encounter with God when the Holy Spirit came on them (Acts 2:1-21).
  • Peter experienced a vision when praying on the flat roof of a house (Acts 10:9-20).
  • God spoke through prophets to the congregation and to individual persons, e.g. through Agabus (Acts 11:28; 21:10).
  • Paul had the gift of healing and astonishing things happened because of that (Acts 19: 11-12).

There are good indications that all of these direct, supernatural encounters with God that we read about in the book of Acts do also happen in these days. There is however one big question: how often. That is, does God intend that direct encounters with him fill all of our days and life, does God intend immediate 24/7 community or not?

My preliminary result to this question is: such direct encounters with God are rare. I fully admit that this is not the impression one gets from reading the New Testament: the NT and especially the four Gospels and the book of Acts have the problem of being far from representative because they recount the highlights and special events only, and this from decades, a multitude of places and a multitude of people.

This preliminary result is also based on critical observations of supposed-to-be encounters with God (remember that Bible says that we should test prophecy etc.). Some of these experiences are genuine, as reasoned for above. But most are not (I think) because they can be traced back to purely emotional, psychological processes or to sociodynamic processes or might happen by chance without any problem. Let us define: whenever a person interprets a natural event as an immediate encounter with God, this is a “religious element of faith”. It’s simply not true.

This is not to say that a 24/7 immediate relationship to God wouldn’t be life. It would, and in heaven it will be just that way. But as long as we live in this world such immediate company with God is rare and we simply need to cope with this truth.

The third way: being a free and cared for child of God is life

The alternative to the lifeless first and the illusionary second way is here called the “third” way. One should read about its both elements before making up one’s opinion. And keep in mind that this is just a proposition that remains to be tested in real life … so please comment on its weak points and on your experiences with it rather than just throwing it away as a whole.

For a start, let’s consider some of our day to day experiences:

  • You eat bread and thank God for it. What do you mean? Let’s say you bought the bread at a supermarket. The supermarket bought it from a large industrial-style bakehouse, the bakehouse bought the cereal from a wholesaler, the wholesaler from, I dunno, some other guys who bought it from an agriculturist. Who in turn used seed to grow the ears, buying the seed in the first instance from a wholesaler of cultured seeds, developed in several hundreds of years from wild cereal plant species. The plants reproduce automatically from the beginning of the world … and there, at creation time, we find a concrete deed of God, namely, creating the archetype of cereal plants. And perhaps it’s the only concrete deed of God regarding your daily bread … .
  • You got to be friends with someone and thank God for this guy or gal. What do you mean? In nearly all cases this will be simply a natural consequence of how God created men: he created them so that they love to socialize and enjoy friendship, which enables you to make friends (cf. Gen 2:18). So actually you thank God for the way he created this world!

Natural things like these make up our day, and the supernatural things make up perhaps 0,3% only (audacious estimate). Now “natural” should not mean that t
hese things have nothing to do with God; in the Bible, every good gift is attributed to God (James 1:17). But they have an observable mediate character: we receive these gifts because God created once a system that produces these gifts on its own accord (e.g. food, human relationships). And not because God personally and directly distributes these gifts – in this case one would have to explain e.g. why God distributes the food on the world in such an unfair manner.

What then is an adequate reaction to God’s mediate gifts if we cannot thank him for providing them individually to us? We can live in these things “for God” in that we are conscious that we are free to deal with such seemingly ” unspiritual” but enjoyable matters because God himself made our relationship to him whole through Jesus Christ. We are free to do what we see fit and interesting because God has done anything else for us so that we do not need to bother about our redemption any more!!

Another thought: God wants to teach us how to deal right with the huge amount of freedom he imparted to us by a world full of mediate gifts where we can act as it seems fit to us. God, as a father, takes care of us: giving us all freedom that’s possible, just limiting it where he needs to protect us from hurting ourselves or others. We just need to take care of our relationship to God: as long as nothing is between God and us (i.e. nothing is more important than God and what he says), everything is fine and we’re on the right track. So if God keeps silent it means usually: everything’s o.k., just move on; or: just remember what I said and the truth you read in the Bible, and you’re fine, knowing all that’s necessary for now. Probably we should fully dismiss the idea that the amount of time and effort invested into our spiritual and our worldly life says anything about their respective quality and about their importance to us. Not time but the quality of our relationship to God (in analogy to the quality of human relationships) defines the quality of our spiritual life.

Now, the second part of the “third way”: if there would be nothing else than these natural experiences, these mediate gifts of God and mediate words of God, this would be a mildly deistic point of view. Because then we’d think that God created the world once and then left it alone as a gift for us; and that he gave us his word once in the Bible and then left us alone with this truth; and that no direct immediate contact with God is possible in this world, until we arrive up there.

This, indeed, would be no life also. Men would have to feel helpless and alone in this world, sort of marooned by their heavenly father in a big, cold world, all on their own, without any concrete help. So let’s be glad that this is not the case! 🙂 There is the second element:

As argued for above, there always was and still is God’s immediate, direct agency, his dealings with us personally, our direct encounters with him. As said also, this is rare. There are not yet any measurements what frequency you can expect, but: if you experience one really, justifiably supernatural encounter with God every several months you are lucky. There might be a greater number of cases where you cannot discern if it was really God (e.g. having some spontaneous thoughts, some visionary images and dreams, and for events where you suspect supernatural coordination). This is just normal and shouldn’t bother. And additionally, there might be an even higher dark figure of God’s immediate agency where he works below the threshold of what is perceivable and measurable. But anyway, the mediate agency of God as demonstrated above occupies by far the largest part of our experiences.

While God’s immediate agency is rare, it is important, and enough to encourage our faith. We see God at work therein, in the 21st century!! This reignites our faith and proves anew that God is still alive, that he will help us when we need it and that he will fulfill all he promised to us. Jesus talked about this experience when saying something about praying in his name: “Ask, and you will receive, that your joy may be made full.” (John 16:24 WEB).

To take the most encouragement out of these highlight experiences it seems a good idea to write them down. Just as Luke did in the book of Acts, encouraging millions until today. That way we won’t forget what God did in our life, and we can share it with others. And, seeing the misuse of the “miracle” term today and therefore the problems of many people to accept something as a miracle, it seems a good idea to collect well-funded contemporary miracles in a book and publish it.

Summing this up: a world full of mediate gifts and words from God is there to have fun with before God, and immediate encounters with God are to encourage your faith in an invisible God and sometimes to correct you. Together, this makes up the “life in this world” promised to us in I Tim 4:8, namely: enough experiences to believe and to know that God cares, and enough mediate gifts for a grateful, interesting, satisfying life until we go up there. Every attitude (such as the first and second way) that does not value the material world as our place to enjoy God’s gifts is ” religious” and simply does not work.

Summary. This short article discusses what company is possible between human beings and God, and contains some initial thought on how to live these insights out.

Company with God: as intended by God for this world, not as according to human’s intuitive ideal conception

When this world was just finished, new and perfect, and everything else was good, God found something that was still not good: “It is not good that the man should be alone; I will make him a helper suitable for him.” (Gen 2:18 WEB). So right from the beginning men couldn’t have company with God in a way that would fully satisfy him. Men need other people (… here, a woman). Each human being having the company with God that is possible in this world but having not the company with other people is alone!
This means for today: human beings need “more” than even the full company with God in this world. Company with God lacks the many, permanent concrete experiences possible in inter-human relationships. Inter-human relationships are a surrogate to fill up what’s missing in the company between God and men. They’re thought to “materialize”, to “flesh out” how the company with God is meant but not yet experiencable.
This is important to see: God did not create this world with so little immediate encounters with Him because he would be unwillingly to allow this to his creatures. On the contrary: he intends humans in this world to resemble him, and their relationships to resemble his love. This is a near-closed system where we learn about God from the images of God (cf. other examples beyond “company”: God our father, being child, loving each other etc.). And in the other direction, where God says that we should love him he means “love your neighbor” to be the equivalent: “No man hath seen God at any time. If we love one another, God dwelleth in us, and his love is perfected in us.” (I John 4:12) and “Most certainly I tell you, inasmuch as you did it to one of the least of these mybrothers, you did itto me.” (Mt 25:40).
So Christians should not expect their company with God to develop towards a more and more concrete, immediate, permanent company. Instead, to experience concrete permanent company they should focus on their fellow Christians who “represent” God in this world.
Now, this is not meant to say that Christians will never have immediate encounters with God as a person. These happen, indeed. But one cannot find them, one can just be open to them and be hit by them when God seems it fit. Which is on rare but weighty, most important occasions.
The new testament testimony is a further indicator for the rareness of immediate, personal encounters with God. These things did happen (miracles, answers to prayer, prophecies etc.) but no NT character is reported to have had a permanent personal encounter with God, face-to-face discussions so to speak. Even Paul needed to be corrected by the Holy Spirit several times in his travelling plans … something that couldn’t have happened if Paul had the permanent immediate company with God.

How to live without the permanent immediate company with God

Here are some hints:

  • Be open for immediate encounters with God, but be not desperate that your everyday life lacks them. For example, look at how the “Mobile Freak Gemeinde” lives (http://www.mfg-home.de, German).
  • Search company with God’s people and a meaningful life task to fill the space where you lack immediate company with God. Until heaven, company with God is incomplete (I John 3:2) and you need something interesting to do until then. For example: “hanging around without agenda” with friends, a world tour, a meaningful job that is to the good of others.
  • Practical Christian living is not so much about two-hour personal discussions with God Almighty but about a holy life and doing good.
  • View the NT reports of miracles and visions of collections of the remarkable highlights of the Christian’s experience with God. It’s far from representative for everyday life!
And now some tips how experience your immediate encounters with God to the full:
  • Track your prayer requests and God’s answers, perhaps in your diary or by audio recording on your mobile phone or notebook.
  • Pray for the gift of prophecy: “Follow after charity, and desire spiritual gifts, but rather that ye may prophesy.” (I Cor 14:1). But keep in mind that you cannot force God to give this gift to you, just pray and then wait. You also do not need to fulfill special prerequisites to receive this gift … it depends on your God!
  • Let your fellow Christians in your congregation serve you with the gift of prophecy.

Welcome, all you nice guys and gals. This is just the start of my long, long weblog which is not about everyday life, that is, in short, it is about neveryday life. So … welcome, nice to meet you. I’d suggest you schedule your next visit for the middle of August as I’ll have prepared some articles for you to read then. cu 🙂

Regarding the content management system Apache Lenya: Installation instructions, a little FAQ, pupularity estimation, Lenya idea blogging and a list of some Lenya bugs and flaws.

FAQ

How to install the Lenya prerequisites?

This answer deals with installing Lenya on SuSE Linux 8.1 (i386). Here, we go along the list of prerequisites for Lenya.

Java 2 Platform Standard Edition
You need a J2SE SDK (Software Development Kit), not just the J2SE JRE (Java Runtime Environment)! Note that the J2SE SDK contains a full J2SE JRE. The SDK must be from the 1.4 series, at least 1.4.1; 1.3.x or 1.5.x will not do for Tomcat 4.1.29! So check out your Java environment: rpm -qi java2. Update from Download Java 2 Platform, Standard Edition, v 1.4.2, if you need. Notes on installation:

  1. Extract the downloaded file to an RPM by executing it: bash j2sdk-1_4_2_06-linux-i586_rpm.bin.
  2. Install the RPM by “opening” the package file in kpackage, or via rpm -i j2sdk-1_4_2_06-linux-i586.rpm. The installed RPM is found in the
    RPM package hierarchy as Development::Tools::j2re, not in Development::Java as SuSE’s J2SE RPMs.
  3. No existing older J2SE package is replaced by the J2SE 1.4.2 SDK RPM package.
Tomcat 4.1.29
I used the file jakarta-tomcat-4.1.29-LE-jdk14.tar.gz. Installation instructions are found in RUNNING.txt in the un-tar’ed package. Set the JAVA_HOME environment variable with export JAVA_HOME=/usr/java/j2sdk1.4.2_06.
Apache Ant 1.6.1 or newer
I used the file apache-ant-1.6.2-bin.tar.gz. Installation instructions for this binary distribution are found on http://ant.apache.org/manual/install.html. All bash login shell configurations, such as setting PATH and ANT_HOME environment variables, are done in /etc/profile.local (for all users) resp. ~/.profile (for single users).
Apache Cocoon 2.1.4
I used the file cocoon-2.1.4-src.tar.gz. From here on and for installing Lenya itself, use Apache Lenya :: Installation of the Source Version. According to these instruction, you need two files from the Lenya source distribution, so do not download the binary one.
Endorsed Libraries
These libraries (Xalan and Xerces) are shipped with Lenya and need not be installed separately.

How to solve the error “Failed to convert address [0:0:0:0:0:0:0:1]:”?

Situation: after a fresh and successful installation of JDK, Ant, Apache, Tomcat, Cocoon and finally Lenya you want to test it by using http://localhost:8080/lenya. You get an error page saying: “An Error Occurred Failed to convert address [0:0:0:0:0:0:0:1]: org.apache.lenya.ac.AccessControlException: Failed to convert address [0:0:0:0:0:0:0:1]:”.

Direct cause: The failing function tried to convert the string “0:0:0:0:0:0:0:1” into an IP address. So, on your system the hostname “localhost” corresponds to the (IPv6 ?) string representation “0:0:0:0:0:0:0:1” which is obviously not what you want. So there’s a problem with name resolution on your machine, at least for IPv6 addresses. This is not a bug within Lenya “IP ranges” as these are for access control only, these do not define name / IP address mappings.

Solution: Use the IP-version of the above address to work around buggy name resolution:
http://127.0.0.1:8080/lenya

How do I use Lenya’s WebDAV functionality?

This is an important question. For frequent document editing, the browser based editors are not comfortable enough neither are they independent of the browser. Using e.g. Microsoft Office as a WebDAV client and provided the fact nearly every Windows PC has it installed, these disadvantages go away. With WebDAV, nobody is forced to use Mozilla for the BXE browser based XML editor.

How popular is Lenya?

The following is as of 2004-10-23. Given the fact that pages about CMS systems will share the same set of vocabulary in average, we might use a Google search for “<CMS-name> CMS” as a CMS popularity index. We add the string “CMS” to exclude pages which have the CMS’s name in another context, e.g. “Mambo” for dancing and “Lenya” as a woman’s name.

For the Mambo CMS this popularity index is about 309,000, for the Typo3 CMS about 113,000 and for the Lenya CMS about 11,800, which amounts to 3.3% of Mambo’s popularity and 10% of Typo3’s popularity. Given the fact that Lenya is in the world from 1999 on, even one year longer than e.g. Mambo, this popularity is less than expected. This might be due to the fact that Lenya is a huge-scale CMS, for professional sites, not even usaable on small webspace
packages.

Even more interesting is the fact, that Google stops after about 500 results for “Lenya CMS” and remarks that the rest is “very similiar”. That means, there is not much more about Lenya than the official pages at Apache Software Foundation and some notes in Weblogs and forums. This makes the Lenya community very “clear” structured: you know where to go for code and documentation, you need not search on hundreds of pages as it is the case with Mambo and, partially, Typo3.

List of Bugs and Todo Items

  • BXE installation misguided. The page that is shown if you try to edit a page with BXE and BXE is not yet installed is misguiding. It tells you to put the BXE tarball contents into webapps/lenya/lenya/resources/bxeng/ but there is only the directory webapps/lenya/lenya/resources/misc/bxeng/. Furthermore, the user sould be told that he will find the directory in his tomcat home directory.
  • Centralize Documentation. At the moment, there are four different documentation systems: Forrest (as a Lenya publication), Lenya API Documentation (JavaDoc), Lenya Wiki (Wiki system) and several mailing lists. The more parallel documentation systems you have, the more difficult it is to find what you look for. You might try to merge them into one system (this might include to delete messages from the mailing lists after their knowledge contributions have been included in this centralized documentation effort).
    As for the Wiki, the Lenya team already move in that direction: “More documentation (work in progress) can be found at the Cocoon Wiki. If you feel able to enhance the documentation the wiki is a good place to do so. We will integrate articles of the wiki in the documentation after reviewing them, so just start the wiki page and let us know the URL.” (from Apache Lenya Documentation, but that might be no official statement yet). Anyway, it would be nice to have all integrated in a Lenya CMS application, with different kind of status for documentation article (new, in review, included) and edited through Lenya authoring mode. It would be great if all documentation could be downloaded as one single PDF book!
    The Javadoc documentation could be integrated in the Lenya publication by writing a Javadoc doclet that produces XML output compatible with Lenya’s documentation XML format.
  • Make the developer interface clear. For a new developer, it is not clear what he can use and what he should not use: what parts of tomcat, cocoon, apt, java, xerces and xalan, XML, XLink, XSLT etc. and where to find their documentation. It would be great to provide a developer start page (as the top page of the developer’s part of the Lenya documentation) where it is clearly stated how to interface with Lenya and where all the docs are.
  • No borders in PDF generation. The PDF files for the Lenya online documentation have nopage borders. For an example, see Documentation ::
    Integrator/Dev Guide :: Components :: Editors :: Bitflux Editor
    or pdf docu (whole).
  • Flaws in generated PDF file’s table of contents. Referring, for example, to pdf docu (whole). This document has just one chapter named with the publication’s name. Instead, the publication’s name should get the title of the document. And, the table of contents lacks some levels of detail. If that
    is configurable even now, just enable it for navigating the official docs.
  • PDF generation bug: wrong heading level. Look at Documentation :: Integrator/Dev Guide :: Components :: Components: this page is content just below the “Components” section, and not content of any subsection of the “Components” section as e.g. is the case for content of the “Access Control” subsection. However, in the generated PDF, it appears in a subsection “Hello Forrest” which is at the same level with “Access Control” etc.. In such cases as for the “Hello Forrest” contents it seems that all its headings are one level to high.
  • Possibility to automatically distribute big XML files to several pages in presentation format.

Idea blogging

Architecture for extensions and dynamic elements needed

What need?In most real-life situations you need custom software to extend the functionality of a CMS. So, Lenya should provide an understandable and complete interface to do that. In more general, we need possibilities to integrate modular dynamic elements (i.e. elements that are specific for every user, like shop systems and other web applications, rather than elements that are the same for all users, like Lenya’s publications).

General conditions. First, Lenya as a CMS should not be restricted to serve “publications”, but publications shall be just one of multiple servable elements, all with the same interface. It shall be possible to have only one or more than one of these servable elements on one page, the layout being defined by a XML template.

Ideas on how to achieve. Lenya is a servlet, served by “servlet container software” such as Tomcat, Resin or Jetty. Any web application (e.g. shop systems or Cocoon-based publications as is done now) can and sould be realized as a servlet. This makes Lenya a very modular CMS, consisting just out of servlets, and a very extensible CMS, as there are many servlets that may be used or adapted. These servlets will have to output XML and provide their own XSLT (just as every publication does). Lenya, as a servlet of its own, will just be a “servlet administration interface” and not include functionality of the publication servlet any more. Every servlet must therefore provide “administration pages” through its interface that are generated as XML and transformed to the presentation format just as every other content. That way, there will be a Flash or PDF or WML Lenya as well.

No dynamic elements in publications. Publications will be a servlet administered through Lenya. Software that presents user-specific dynamic content (e.g. shop systems) will be realized as separate servlets as these things do not belong to publications. Publications may contains links to these separate servlets (as to every other part of the site), but should not include dynamic functionality theirself. The only dynamic things to to with publications are editing, publishing, deleting, scheduling etc., and that’s exactly what the authoring mode of the publication servlet is for.

Use Lenya to manage your local content and to format your publications

Lenya as CMS for your local content. As Lenya stores its contents in files rather than a database, it is a solution to manage your personal contents. Store
anything you write in XML (e.g., DocBook format). Tell Lenya that your home directory is where all the publications are, and make Lenya publications out
of all your personal XML files. Lenya will take care to provide them for you in readable formats, no manual maintenance is necessary any more.

Putting your local publications online. For personal homepages, you want to publish something you created offline rather than writing all your documents online. Thats far more comfortable as you have free choice of tools and full access to the underlying files. Using Lenya on your homepage and for your personal files, this is no problem: create your Lenya publications offline and put them online by copying the whole subtree via ftp, scp or something. And, find out if Lenya stored relevant data for this publication somewhere not in its subtree, which would be a thing to fix.

Lenya as publication formatter only. You do not need to use Lenya for your homepage (on small webspace packages you even cannot do so). Let your local Lenya installation generate the publications in their presentation format(s) (xHTML, PDF) and upload just these files to your website. Then, use another CMS with a “static content inclusion component” to present these Lenya publications online. For example, the Mambo CMS with the staticxt component is well fitting for that task even with small webspace packages.

Use DocBook XML format for larger publications

Whereever possible, we should stick to existing XML formats rather than inventing new ones. Because, the existing formats are understood by a broad variety of applications and come with a set of useful tools, e.g. the DocBook format. This is well suiting for book-like publications. To integrate it with Lenya, you need to provide the corrspondin XSLT.

CMS neutral content via XML

CMS neutral content does not mean that you need to invent a new XML format for CMS contents. Rather, whereever possible use existing formats like DocBook. It does mean, however, to provide a infrastructure definition of how contents in these formats and the accompanying XSLT and CSS must be organized to make exchange between different CMS possible.

A CMS understanding this exchange format may store its data within this format (e.g. Lenya) or convert it to a different structure (e.g. store in SQL database) or format. It only needs to guarantee that all data can be imported and exported using the exchange format.

Write a component for Mambo to use Lenya publications in XML format. It would be best to base it on the work of MOSXML, a XML Mambo variant. Ideally, MOSXML would be re-merged with Mambo in that it provides all its work as Mambo modules and components, some for the frontend and some for the backend.