Forum .LRN Q&A: My applet doesn't appear on the "Manage Applets" page


I'm trying to create a simple hello-world portlet. I have defined the applet and the portlet imitating the portlet "news-portlet", which is the simplest I have found.

For the applet I define the contract copying the "dotlrn-news-create.sql" file and changing references properly. I copy and change the "dotlrn-news-procs.tcl" in the same way.

For the portlet I do the same thing. I create an "adp" script in the "www" folder as well.

Finally, I execute the sql scripts of both applet and portlet under psql. There are no problems there but when, after restarting the server, I try to add the applet to a community, the option doesn't appear on the "Manage Applets" page.

As I have read, the option should appear on this page when dotlrn detects the applet after restarting.

Could anybody help me?

Thanks in advance.

Hi Javier,

You need to install your packages from the site-wide administration (http://YourServer/acs-admin/install/ choose "install from local"). Running the sql scripts and restarting is not enough, OpenACS/dotLRN handles installed packages explicitely so it can do version control among other things. You can manage your packages from http://YourServer/acs-admin/apm

I hope it will help.

Hi Emmanuelle.

Before all, thanks for your help.

The packages seems to be installed because I created them from the "Package Manager" page. However I have uninstalled and installed them again, but my problem remains.

I have checked my code a lot of times, even comparing with other uninstalled packages (like "dotlrn-chat" which can be installed correctly) so I suppose my problem must be a simple overlooked detail.

Are there more documentation, apart from the API, explaining the process of constructing a portlet?

Thanks in advance.

Hi again,

I have solved the problem creating the packages from the beginning (third time), and this time it works!!

No idea what was the reason and no energy to find it.

Your help was very useful for discarding a lot of posibilities.


Hi Javier,

You're welcome. Glad to know you got it to work. Applets can be very tricky and hard to debug.

Regarding its creation I would recommend to do it using the Tcl API instead of a SQL script. It's less prone to error. Same for the portlet part.

I've uploaded an example based on the tutorial written by César Claveria and Rocael Hernández (U.Galileo, Guatemala). The example contains a simple To-do application along with its portlet and applet. In this example, no SQL is used for their creation, Tcl code only.

To-do packages:

Hi Emmanuelle,

You have read my mind because I have already done the openACS package creation tutorial from the pdf of César and Rocael and the portlet is the next step I planned to do.

I will try to do it by my own and if I have problems I will check your file. It will make me work more confident.

Thanks for all.