How to integrate an existing package in dotLRN
Since a lot of magic involved there is to integrate a package with dotLRN, a mystical path
a Jedi has to go and trust he must show at every time to overcome the temptations of the dark side (Yoda).
You have created a package called
foo that does something nice in OpenACS
and want to integrate this package in dotLRN. You can learn more about how to create an application
The path to truth
In order to do so you need two more packages that make your package available to dotLRN:
as well as to the "My Space" of a student. The integration is done through you by providing two
The first one provides community and class admins with at least a link to you application. You can also
add some more stuff to that portlet but usually it is used to simply link to the admin area of your
The second portlet is destined for the student and can have two different states depending on wether
it is displayed in a community/class/subgroup or on "My Space". In the first scenario it should only provide
group specific content of your application in the second case it should provide user oriented content over
all groups. Take a look at the FAQ, Forums, Calender ... portlets and how they change depending on the
area you are (group or "My Space").
The solution - Simple Steps to Heaven
Until the new portal system is available to dotLRN we have to integrate using the current solution. Since
most of the integration part is a lots of Cut & Paste and the application developer should put more time
in creating nice portlets I have prepared integration templates that does all the work for you.
All you need is to do the following steps.
Note: ALL FIND AND REPLACE STUFF BELOW MUST BE CASE SENSITIVE AND WHOLE WORDS:
- Download the archive and extract it to your workspace. It contains templates
of the two required packages.
- Open a text editor that can find and replace strings over several pages. You can also write some perl scripts or other stuff if.
you know what you are doing.
- Replace all occurrences of
foowith actual package name of your application.
- Then replace
Foowith the pretty name of your package.
- Now replace
YourNamewith your full name like 'Luke Skywalker'.
email@example.com your correct e-mail.
- Now replace
YourInstitutionwith the full name of the institution you work for 'Jedi School'.
InstitutionURLwith fully qualified URL to your institution like 'http://www.jedi.org'.
- Replace all
yyyy-mm-ddto the current date like '2005-06-21'.
- Change ALL file and folder names where
fooappears with your package name.
- The templates assume that your application's package version is 1.0. Change the *.info files acordingly
if that is not the case.
- Copy the two packages to your test server. Make a dump of your database before you try to install
the packages using the Package Manager. If something goes wrong you are able to restore everything.
- After a restart you can start working on the
by adding your application to a community Control Panel-->Manage Applets-->Your Package [add].
The code has been sucessfully tested PostgreSQL with dotLRN 2.1.1 and OpenACS 5.1 installed. The packages are i18n-ized and currently support the locales en_US, es_ES and de_DE.
Oracle is also support though I have not tested it but I assume that it will install properly.
Drop scripts are also available for both PostgreSQL and Oracle.