Created by Rocael Hernández Rizzardini, last modified by Rocael Hernández Rizzardini 22 Sep 2009, at 05:40 PM
DOCUMENT STATUS: A draft that HAS NOT YET been endorsed by the OpenACS OCT, the .LRN Board, or the .LRN Leadership Team (Honchos)
These areas and list of activities has been summarized of a discussion over the lists. The aim is to have a more integrated set of activities created and provided by the different working groups (board, leadership team, oct).
Consortium investment in .LRN:
- Create a budget for the next 12 months / year, has to include also all administrative costs. (Alvaro can prepare a preliminary budget).
- Figure out the priorities for technical development (QA, new releases, etc.), documentation & tutorials, marketing.
Some areas to invest in that have been already formulated:
- Bug-fixes: #3 & #4: prioritize technical tasks is OCT and leadership authority
- QA testing for releases
- Release Management
- See original proposed set of jobs: https://docs.google.com/Doc?docid=0AUeGYMa72ygGZGhjbnc0bm1fN2R3czdxeGZ0&hl=en
Documentation:
- Tutorials for basic areas of openacs technical development.
- Update on installation process for official documentation (already on creation process, a plan about how to address it will be posted soon, so approval is give to proceed with it)
Marketing:
- Training on .LRN usage.
- Users help section
- A demo-course of .LRN (already on creation process)
- All these actions (and probably new ones) towards getting more users.
The Consortium investment process:
- The priorities has to be agreed at the Leadership Team / OCT. Any formulated item will require a description clear enough to be able to justify a given investment.
- Figure out which investment channels we can have:
-
- There is the initial Jobs small - incentives.
- Some other people argue for better rates, that can lead us to monthly contract: directly contract monthly time in a yearly basis for some developers (at lets say open source rates, not as small as in the jobs): for instance one or two experienced community recognized developers, and one newbie (which is not expensive) that will do the bee-work.
- Other possible paths? such as posting for a job and people make an offer and from there negotiate a give amount. Different people might require different amounts.
- We might contract either an individual or an organization (Institution or a company)
- Assign a given priority / task to the interested developer / party.
- OCT / Leadership Team review and approved the work finished
- Consortium pays.
Oracle support:
At this point we cannot guarantee oracle support for .LRN.
There are specific donations to Oracle, such from UCLA.
Additionally, UNED & Bergen use oracle and has given their donation, so a part of that funds should go to Oracle support.
Also, since UNED has an active group of developers supporting their installation, we should ask them to test Oracle as well.
Increase community participation:
- Consortium will request active and committed technical developer participation in the Leadership Team to the institutions that might have technical developers. (nominate an active developer for open-source with lets say 10-20 hours a week). Additionally, to be able to contribute better the best scenario will be to have this institutions to have their .LRN installations up-to-date, and have mechanisms that allow them to separate their code from what the official distribution is, that as well will let them influence more directly into the official distribution.
- Improve communication from OCT & Leadership Team:
- post the meeting minutes in time (the day after at the latest)
- get the IRC logger back and have a usable page to access logs
- move technical discussion to forums
- Improve communication with the board.
- Others?
Community growth:
- Create means to get new developers: any ideas?
- Emma: That won't happen alone. The main issue is "getting new users" and
it's a marketing matter.
dotlrn.org:
- git will be replaced with cvs checkout from the cvs.openacs.org
- update content
- The technical management is assigned to the Leadership Team.
- Leadership team can assume the technical management BUT ONLY ONCE the
site is a CVS checkout from the openacs.org tree
The new tutorial:
- Has to have a place, where it links and download it.
- It can be included on the distribution file and in the documentation.
- With which tool we'll produce future tutorials and based on which templates still need to be settled. Maybe a comparison chart will help to make the decision.
- A tutorial has not the same format and purpose of a traditional documentation (format as how is structured, organized and designed, and not to which is the document type).
- Has to reflect any engineering standard that it might come across within its examples. While understanding that the tutorial is not to explain the engineering standards. The engineering standards has to be clearly defined with examples if necessary in the engineering standards section of the standard documentation (including the accessibility ones). The better explained, the easier to follow them!
- It can be exported to different formats but its mandatory format is html.
- As for documentation: we see in the repository no major changes in the documentation itself over the last years, so probably we need good review and really involve people to update on it, since none of the members of the groups seems to be doing maintenance over them.
Created by Alvaro Rodriguez, last modified by Alvaro Rodriguez 01 Sep 2009, at 04:12 PM
Introduction
.LRN Blocks View is an additional View to .LRN Communities or Classes.
The Blocks View works by integrating all kinds of activities or resources of a community to a simple interface where everything is treated by the object id no matter what the object type is, and creating a new behavior to the activities according to the object type.
The new interface becomes the Community Home and is organized by blocks, there are currently 2 formats for the blocks:
- Weekly Format
- Each block represents a week, the weeks start to count the day the community starts, this value is set in the Course Settings of the Blocks View.
- The current weeks is highlighted.
- Topics Format
- Each block represents a topic, all the activities and resources in this block are related to the topic, in this format the start date of the community is not relevant.
- This format lets the teacher selects the current topic and highlights that topic automatically until it is deselected or another topic is selected, only one topic can be selected at a time.
This option is available for all communities inside the dotlrn-admin-portlet, there's a link to enable/disable this view, when the view is enabled a default empty block is created inside the community (this initial block it is always shown on top with no format) and it automatically mounts the packages needed (evaluation, assessment, forums, content, xowiki, chat) on the community.
Course Settings
In the Course Settings of the Blocks View we can set:
- the number of blocks, if the number of blocks selected is greater than the current blocks, the extra blocks needed are created, if the number of blocks selected is lower than the current blocks the rest of the blocks are simply not displayed but never deleted.
- the start date, this is used to set the start day for the weekly format.
- the format, weekly or topics.
Blocks Basics
To add objects to a block there is a section inside each block where we can select the type of activity/resource we want to add and it lead us to the specific interface of that object type to create a new object or we can go to choose an existing activity from an interface showing all the available activities.
Each block has the following options:
- Add a summary, this is a small text that we can add to be shown on top of the block to describe the block's content.
- Show/Hide, we can choose which blocks we want to make available for students.
- Move, the blocks can be ordered by using a drag n drop option to move them or doing a manual move by moving the block one position at a time.
Blocks Objects Basics
Each object inside a block has the following options:
- Show/Hide, we can choose which object we want to make available for students.
- Move, the objects can be ordered inside the same block or moved to a different block by using the drag n drop option.
- Indent, the objects can be indent right or left, this is just for visual purposes and it has no side effect on the behavior of the objects.
- Edit, this link lead us to the specific edit interface depending on the object type.
- Delete, this link deletes the reference of the object with the block and if the object is not referenced by another block it deletes the object as well.
Technical Specs
The relations between all the packages integrated with blocks are handled by using callbacks, this callbacks are declared in the blocks context and the implemented in each package context.
The callbacks used are:
Specific callbacks: These callbacks need to be implemented for each package because it must return the url for different actions on an specific object type.
- search::url
- planner::edit_url
- planner::delete_url
Standard callbacks: These callbacks are implemented once because there's no difference in the code needed for all packages.*
- planner::extend_form
- planner::insert_object
* The only package with a different implementation for the standard callbacks is the file-storage, the objects of the file-storage cannot be treated only with the object_id because there are different types of objects (url, file or folder) and to be able to choose a file we might need to navigate inside some folders, so in this case the value for the block id is passed in the cookies and the cookies are validated by the parameter return_url.
A New Package
A new package was created based on xowiki called "pages" to accomplish the integration of xowiki with the blocks view, xowiki is not a usual package so it was not possible to add the callbacks in the same way as the rest of the packages, a lot of procs needed to be changed and to avoid adding too much code to xowiki we created an independent package. This package requires xowiki as it uses all the xowiki classes and procs.
This package works just like xowiki but using a different policy to let the users only work with ::xowiki::Page and ::xowiki::PlainPage, adding new pages can be handled only from the blocks interface because it needs a block to associate the page with. The package has a callback "after-mount" to set the permissions to not inherit from parent and only swa can admin that package.
Navigation Bar
The blocks view provides a navigation bar in the master section (only inside of the community), this bar show all the objects inside the blocks on that community and you can go to any object on any block. If you're inside an object page, the navigation focuses on that object (this is done by sending a parameter to the master with the object_id) and enables the navigation to the next and previous object (if possible).
Scalability
This .LRN Planner went through scalability tests because it has it's own data model which links objects from all the other resources tables, if this is used as every single course home organizer it could become slow know that needs to get specific information from different tables for every object.
The solution for this matter was to group all the activities of a course for a specific type, get the information by groups and leave it in aolserver's cache, this involves a lot of extra code to keep the cache up-to-date, this is completely handled to make the planner a powerful solution for every course in .LRN.
Project Documentation
This paper was presented in the 7th OpenACS/.LRN Conference, you can check out the conference paper.
How to Install
Works on:
Postgresql 8.2.x +
Oracle 9i +
Requires:
dotlrn 2.4.1
xowiki 0.106.1
xotcl-core 0.100
ajaxhelper 0.87d
Installation process:
-
Get the following packages from branch oacs-5-4: dotlrn-all, xowiki, xotcl-core
-
Get the following packages from HEAD: planner, pages, ajaxhelper
-
Move to the planner-patch folder in the planner package folder and run the script.sh, this will
patch all the files from other packages to integrate them with the planner
new features
- To run the script:
- /$path_to_planner_patch/$ sh script.sh
-
Install dotlrn, then install xowiki, xotcl-core, planner, pages and ajaxhelper
-
Restart the server
-
Activate the Planner View in a course admin portlet
Release Notes
Name: .LRN Planner
Version: 1.0b (July 2009)
Developed by: Alvaro Rodriguez (Viaro Networks)
- Full integration with dotlrn resources: evaluation, assessment, forums, file-storage, HTML and Text Pages (using the Pages package)
- Use of aolserver cache to assure scalability
- Weeks and topics formats available
- Provides a completely independent course home
This is how the
Planner View looks.
Technical Specs
The planner works by linking activities by calling the callbacks that have been added to other packages in the add forms to be able to link the resources from those packages to the planner blocks. The callbacks extend the form of a new object to receive the page_id to be linked to and inserts the objects to the page once it has been created in the submit section of the form.
Each callback is defined and implemented in the planner-procs, in the following way:
ad_proc -public -callback "callback_name" -impl planner
if
a package needs a different implementation of a callback it should be
done in the package callbacks procs in the following way:
ad_proc -public -callback "callback_name" -impl $package_key
This callbacks are used inside the page that has the form for creating/editing new in the following way:
callback -catch -impl planner "callback_name" -params...
To
add a new package to the activities available in the planner, the callbacks
should be added to the file(s) where the objects are created, i.e.
forum-new, task-add-edit, etc.
- A new parameter called block_id needs to be added to the ad_page_contract
- The following callback should be added in a place where the form can be extended
- callback -catch -impl planner planner::extend_form -name $form_name -block_id $block_id
- The following callback should be added in the submit section of the form after the object has been created
- callback
-catch -impl planner planner::insert_object -name $object_name
-block_id $block_id -object_id $object_id
- The
activity should be added to the index, select-activity and get-activities pages
in the planner package, check out the existing activities
sections to figure out the right way to include
- Depending on the activity, other lines of code need to be added to keep the consistency with the use of aolserver's cache, to keep it up-to-date with objects add/edit/delete actions.
The script added to the package to patch the rest of the packages
was generated with diff between the packages from clean oacs-5-4 and
modified oacs-5-4:
diff -crNB ~/oacs-5-4/packages/$package_name ~/custom-oacs-5-4/packages/$package_name
This work was done in collaboration with Innova - UNED.
Created by , last modified by Victor Guerra 11 Mar 2009, at 03:44 PM
@image_url@ @_text@
@detail_link@
Created by Gustaf Neumann, last modified by Victor Guerra 11 Mar 2009, at 03:44 PM
@event@
Abstract: @_text@
@detail_link@
Created by Gustaf Neumann, last modified by Victor Guerra 11 Mar 2009, at 03:44 PM
@event@
Abstract: @_text@
@detail_link@
Created by , last modified by Victor Guerra 11 Mar 2009, at 03:44 PM
Book
Creator:
1.1 XoWiki: List of the available includelets
This is a list of the includelets, which can be included in a xowiki page:
The following includelets can be used in a page
- {{LTI-LaunchButton -launch_button_label Join Meeting -launch_button_title Click to join -title "" -presentation window}}
- {{activity-graph -max_edges 70 -cutoff 0.1 -max_activities:integer 100 -show_anonymous message}}
Include an activity graph
- {{available-formfields -flat:boolean false}}
List the available form field types of this installation.
- {{available-includelets}}
List the available includelets of this installation.
- {{book -category_id -menu_buttons edit -folder_mode false -locale "" -range "" -allow_reorder "" -orderby page_order,asc -with_footer false -publish_status ready}}
Show contents in book mode.
- {{bookmarklet-button -siteurl "" -label ""}}
Include bookmarklet button that makes it easy to add the
current page as a bookmark in the browser of the client.
- {{categories -tree_name "" -tree_style:boolean 1 -no_tree_name:boolean 0 -count:boolean 0 -summary:boolean 0 -locale "" -open_page "" -order_items_by title,asc -style mktree -category_ids "" -parent / -except_category_ids "" -allow_edit false -ordered_composite}}
List the specified category tree.
- {{categories-recent -max_entries:integer 10 -tree_name "" -locale "" -pretty_age off}}
Display recent entries by categories.
- {{chat -title "" -chat_id "" -mode "" -path "" -skin -login_messages_p -logout_messages_p -avatar_p -timewindow}}
Include a chat in the current page
- {{chat_room -chat_id -mode:optional "" -path:optional "" -skin:optional ""}}
Include a chat room
- {{child-resources -skin:optional yui-skin-sam -show_types ::xowiki::Page,::xowiki::File,::xowiki::Form,::xowiki::FormPage -regexp:optional -language_specific:boolean false -with_subtypes:boolean,optional false -orderby:token,optional last_modified,desc -publish_status:wordchar ready -view_target "" -html-content -parent . -columns
objects
edit
publish_status
object_type
name
last_modified
mod_user
duplicate
delete
-hide "" -menubar ""}}
- {{collab-graph -max_edges 70 -cutoff 0.1 -show_anonymous message -user_id}}
Include a collaboration graph
- {{community-link -text "" -url ""}}
Include a link to the community including the current page.
This includelet is designed to work with dotlrn.
- {{composite-form -edit_links:boolean false -pages "" -ordered_pages}}
Create a form from the selection
- {{copy-item-button -page_id -alt copy -book_mode false}}
Button to copy a page
- {{countdown-timer -target_time "" -audio_alarm true}}
Countdown timer
- {{create-item-button -page_id -alt new -book_mode false}}
Button to create a new page based on the current one
- {{creation-date -source "" -format %m-%d-%Y}}
Include the creation date of the current
or specified page in the provided format.
- {{current-irc-log -date ""}}
- {{delete-item-button -page_id -title Delete -alt delete -book_mode false}}
Button to delete the current or a different page
- {{delicious -description "" -tags "" -url}}
Add a button to submit article to delicious.
- {{digg -description "" -url}}
Add a button to submit article to digg.
- {{edit-item-button -page_id -title Edit -alt edit -book_mode false -link "" -target ""}}
Button to edit the current or a different page
- {{exam-top-includelet -countdown_audio_alarm true -target_time "" -url_poll "" -url_dismiss "" -poll_interval 5000}}
This is the top includelet for the in-class exam, containing a
countdown timer and the personal notifications includelet
- {{flowplayer -mp4:required,nohtml}}
Include an mp4 image using flowplayer
- {{folders -show_full_tree false -context_tree_view false}}
List the folder tree of the current instance
- {{form-menu -form_item_id:integer -parent_id -form -buttons new answers -button_objs -return_url}}
Include a form menu for the specified Form
- {{form-stats -form -parent_id -property _state -orderby count,desc -renderer table}}
Include form statistics for the specofied Form page.
- {{form-usages -form_item_id:integer,1..n -form -parent_id -package_ids "" -orderby _raw_last_modified,desc -view_field _name -publish_status all -field_names -hidden_field_names _last_modified -extra_form_constraints "" -inherit_from_forms "" -category_id -unless -where -extra_where_clause "" -csv true -voting_form -voting_form_form "" -voting_form_anon_instances t -generate -with_form_link true -with_categories -wf -bulk_actions "" -buttons edit delete -renderer "" -return_url -date_format -with_checkboxes:boolean false}}
Show usages of the specified form.
- {{get -variable -form_variable -source ""}}
Get an instance variable from the current or from a different
page.
- {{graph}}
- {{gravatar -email:required -size 80}}
Include gravatar picture for the specified email
- {{html-file -title "" -extra_css "" -levels 0 -file:required}}
Include the specified HTML file
- {{iframe -title "" -url:required -width 100% -height 500px}}
Include an iframe containing the specified URL
- {{item-button}}
- {{jquery-carousel}}
Display a sequence of pages via jquery-carousel, based on book
includelet.
- {{jquery-cloud-carousel}}
Display a sequence of pages via jquery-cloud-carousel, based on book
includelet.
- {{jquery-infinite-carousel}}
Display a sequence of pages via jquery-infinite-carousel, based on book
includelet.
- {{jquery-spacegallery}}
Display a sequence of pages via jquery-spacegalleryl, based on book
includelet.
- {{kibana -chart openacs-status-codes -from now-24h -to now -hash "" -width:integer 800 -height:integer 400}}
Include a Kibana chart identified by the provided hash
- {{last-visited -max_entries:integer 20}}
Display last visited pages.
- {{launch-bigbluebutton}}
- {{launch-jupyter}}
- {{launch-zoom}}
- {{link-with-local-return-url -text "" -url ""}}
Insert a link with extra return URL pointing the current
object. This is particularly useful in cases, where a
return URL must be created for a page that does not yet
exist at time of definition (e.g. for link pointing to
concrete workflow instances)
- {{most-frequent-visitors -max_entries:integer 15}}
List the most frequent visitors.
- {{most-popular -max_entries:integer 10 -interval}}
Display most popular pages of this wiki instance.
- {{my-categories -summary 1}}
List the categories associated with the
current page.
- {{my-general-comments}}
List the general comments available for the
current page.
- {{my-references}}
List the pages which are referring to the
current page.
- {{my-refers}}
List the pages which are referred to the
current page.
- {{my-tags -summary 1}}
List the tags associated with the
current page.
- {{my-yahoo-publisher -publisher "" -rssurl}}
Name of the publisher, when posting URLs to my yahoo (use in
connection with with_yahoo_publisher).
- {{personal-notification-messages -url_poll "" -url_dismiss "" -poll_interval 5000}}
- {{presence -interval 10 minutes -max_users:integer 40 -show_anonymous summary -page}}
Show users actively in the wiki.
- {{random-form-page -form:required -publish_status ready -expires 600}}
Include random form page (instance of the specified form)
- {{recent -max_entries:integer 10 -allow_edit:boolean false -allow_delete:boolean false -pretty_age off}}
Display recent modified entries.
- {{references-graph -folder . -page "" -link_type link -rankdir LR -fontsize 12}}
Include a graph of the (partial) link structure in a wiki,
starting either with a page or a folder. When a page is
provided, the local link structure of this page is
visualized (including incoming and outgoing links of the
page; e.g. -page "." for the current page).
Alternatively, the content of a folder can be shown.
- {{rss-button -span 10d -name_filter -entries_of -title}}
Include an RSS button referring to pages of the specified time span.
- {{rss-client -url:required -max_entries:integer 15}}
Include RSS content
- {{s5 -category_id -slideshow:boolean false -pagenr 0 -style standard -menu_buttons view edit copy create delete}}
- {{selection -edit_links:boolean true -pages "" -ordered_pages "" -source -publish_status ready -menu_buttons edit -range ""}}
Provide a selection of pages
- {{set-parameter}}
Set a parameter accessible to the current page (for certain
tailorings), accessible in the page via e.g. the query
parameter interface.
- {{slidy}}
Display a sequence of pages via W3C slidy, based on book includelet
- {{tags -limit:integer 20 -summary:boolean 0 -popular:boolean 0 -page}}
Display specified tags.
- {{timeline -user_id -data timeline-data -interval1 DAY -interval2 MONTH}}
Include a timeline of changes (based on yahoo timeline API)
- {{toc -style "" -renderer "" -open_page "" -book_mode false -folder_mode false -ajax false -expand_all false -remove_levels 0 -category_id -locale "" -orderby "" -source "" -range "" -allow_reorder "" -include_in_foldertree true -CSSclass_top_ul "" -CSSclass_ul ""}}
- {{unread-items -max_entries:integer 20}}
List unread items.
- {{unresolved-references}}
List the pages with unresolved references in the current
xowiki/xowf package. This is intended for use by admins.
- {{user-timeline -user_id -data timeline-data -interval1 DAY -interval2 MONTH}}
Include a timeline of changes of the current or specified user
(based on yahoo timeline API)
- {{view-item-button -page_id -title View -alt view -link "" -book_mode false}}
Button to view the current or a different page
- {{vspace -height "" -width ""}}
- {{wf-todo -workflow "" -user_id -ical 0 -max_entries}}
- {{yui-carousel -title "" -item_size 600x400 -image_size -num_visible 1 -play_interval 0 -auto_size 0 -folder -glob "" -form ""}}
Include YUI carousel showing the pages of the specified or
current folder.
1.2 Activity Graph
You must login to see the activity-graph
1.3 Collaboration Graph
You must login to see the collab-graph
Libres Plataforma Elearning
Se denominador Aprendizaje electrónico (Also Conocido Como e-learning ) a la Educación a Distancia virtualizada A Traves de canales Electrónicos (Las Nuevas Redes de Comunicación, en especial Internet ), utilizando párr Ello Herramientas o Aplicaciones de hipertexto ( Correo electrónico , paginas web , Foros de Discusión , Mensajería Instantánea , Plataformas de Formación, Entre Otras) Como Soporte de los Procesos de Enseñanza-Aprendizaje. En un Concepto Más relacionado con lo semipresencial, tambien es Llamado b-learning ( blended learning ). 1
El b-learning Es Una modalidad Que Combina la Educación a Distancia y la Educación presencial, Retomando las Ventajas de Ambas Modalidades Y complementando EL APRENDIZAJE de los aprendices.
Also Florerias definirse Como un Sistema BASADO en la Comunicación Masiva y bidireccional Que sustituye la interaction personal en el aula del profesor y alumno, Como medio preferente de Enseñanza, Por La Acción Sistemática y Conjunta de Recursos Didácticos DIVERSOS y El Apoyo De Una organization tutorial, Que PROMUEVE EL APRENDIZAJE AUTONOMO de los Estudiantes, ademas de Reforzar La de habilidad de la Comunicación Efectiva Con Los Participantes A Traves De Las Plataformas implementadas.
del consiste en la Educación y Capacitación through Internet. Este tipo de Enseñanza en línea permite la interaction del usuario con el material el Mediante la utilizacion de Diversas Herramientas informáticas.
Este nuevo Concepto educativo Es Una revolucionaria modalidad de Capacitación Que posibilitó Internet, Y Que hoy se posiciona de Como La forma predominante de Capacitación En El Futuro. Este Sistema ha transformado la Educación, Abriendo Puertas al Aprendizaje individuo y organizacional. Es por Ello Que hoy en día this ocupando ONU Lugar Cada Vez Más destacado y reconocido Dentro de las Organizaciones Empresariales y Educativas.
English Translation
E-learning is denominator (Also known as e-learning) to Distance Education virtualized through electronic channels (The new communication networks, especially the Internet) using para This Tools or Applications hypertext (E-mail, web pages, Discussion forums, Instant Messaging, Platforms Training, among others) and support the teaching and learning processes. In a concept more related to what blended learning, also called b-learning (blended learning). 1
The b-learning is a modality that combines distance education and classroom education, taking up the advantages of both modalities and complementing LEARNING apprentices.
Also Florist defined as a system based on the Mass and two-way communication system that replaces personal interaction in the classroom of teacher and student, as preferred means of education, the systematic and Joint DIFFERENT Resource Action and support of a tutorial organization, that promotes learning AUTONOMO of Students, in addition to strengthening skill of effective communication with participants through platforms implemented.
It consists of the Education and Training through Internet. This type of online education allows user interaction with the material By using various tools.
This new educational concept is a revolutionary form of training enabled Internet, and today is positioned as the predominant form of future training. This system has transformed Education, Abriendo Puertas to individual and organizational learning. That is why today esta un Lugar occupying increasingly prominent and recognized within business and educational organizations.
Post_Installation Next Steps After Installation, Debian Specific
Next-Steps
After following:
Debian Installation Instructions
A. Installing Daemontools
Documentation
nano /usr/share/doc/openacs|dotlrn/README.daemontools on openacs package.
apt-get install daemontools daemontools-run
B. Configuring Daemontools and Using SVC
1) Change the "StartDaemon" value to "no" in /etc/default/:
# OpenACS
nano /etc/default/openacs
... or ...
# .LRN
nano /etc/default/dotlrn
2) Stop the daemon:
# OpenACS
/etc/init.d/openacs stop
... or ...
# .LRN
/etc/init.d/dotlrn stop
3) Link daemontools dotlrn|openacs script:
# OpenACS
ln -s /usr/share/openacs/etc/daemontools /etc/service/openacs
... or ...
# .LRN
ln -s /usr/share/dotlrn/etc/daemontools /etc/service/dotlrn
Now you can control the dotlrn service using the svc command:
* To start the service: svc -u /etc/service//openacs or dotlrn
* To stop the service: svc -d /etc/service//openacs or dotlrn
* To restart the service: svc -t /etc/service/openacs or dotlrn
C. If There's Problems Purge and Reinstall
apt-get remove --purge openacs or dotlrn
apt-get install openacs or dotlrn
D. To configure the instance to listen on a different IP than 127.0.0.1
Edit the config.tcl file:
nano /etc/openacs|dotlrn/config.tcl
Change the following parameters to fit your needs:
set hostname Your hostname
set address to Your public IP
E. Backup and Restore (to be filled in)
and found that I had to figure out how to:
su - $OPENACS_SERVICE_NAME
pg_dump -f /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp openacs-dev
ls -al /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp
exit
The $OPENACS_SERVICE_NAME
which I thought would be "dotlrn"
turned out to be "www-data"
Next I found there was no /var/lib/aolserver but there are /var/lib/dotlrn and /var/lib/postgresql
The default paths show the locations that were decided upon (in early 2004) so below we will try to document were things are in a standard dotlrn installation, now.
a work in progress |
|
|
|
OpenACS service |
dotlrn |
OpenACS service account |
www-data |
OpenACS database name |
dotlrn |
SERVERROOT |
/usr/share/dotlrn/www |
Database backup directory |
/var/backups/ |
Service config files |
/usr/share/dotlrn/etc/config.tcl |
Service log files |
/usr/share/dotlrn/log/ |
PostgreSQL directory |
/usr/lib/postgresql/8.3/main |
AOLserver directory |
/usr/lib/aolserver4 |
Backup Script |
/usr/share/dotlrn/etc/backup.sh |
F. Installing Packages (to be filled in)
1. From .LRN CVS
a) Create a local repository
b) Download to your local repository
G. View the Log File
nano /var/log/aolserver4/dotlrn/error.log
H. Mail Server (to be filled in)
- Installation
- configuration
Created by Gustaf Neumann, last modified by Gustaf Neumann 06 Dec 2008, at 10:36 AM
The following pre-packaged installations for OpenACS and .LRN under Linux are available:
OpenACS and .LRN can be installed certainly as well from scratch using the guidelines for stepwise installation of all necessary components.
In general, OpenACS and its components works very well under Linux. It is used in many large installation with up to 10 million hits per day. For most applications, the systems runs nicely with a wide range of versions of Linux and its components. Due to some library changes in some Linux versions (especially in the native Linux thread installations), some precautions might be necessary. In case of problems on sites with high loads (e.g. server hangs) we recommend the following versions
- Linux Kernel <2.6.9 or better, >2.6.25
- NTPL >= 2.7
- gcc >= 4.2
- Tcl libthread should be > 2.6.5 (including changes from 2008-05-22)
Created by Ryan Gallimore, last modified by Ryan Gallimore 01 Nov 2008, at 10:35 PM
OpenACS Mentorship Program
The OpenACS Mentorship program connects new developers with experienced mentors to support students in the development of their OpenACS skills.
Our methodology includes the following:
- minimal time commitment of a mentor to a developer
- assignments are selected based on a student's interest and skill level, as well as community need, if applicable.
- mentor and developer meet on a regular basis (e.g weekly) in a chat session or via e-mail to discuss his/her project.
- creation of improved documentation for new developers.
- participation from mentors, students and the community in the development of a core OpenACS curriculum.
If you are looking for a mentor or interested in becoming one, please post to the Forums.
Created by Ryan Gallimore, last modified by Brian Fenton 08 Oct 2008, at 02:36 PM
Updated from CMS Matrix.org
System Requirements
Application Server | Yes
|
Approximate Cost | Free
|
Database | Postgres, Oracle |
License | GNU GPL |
Operating System | Unix, Linux, Windows
|
Programming Language | Tcl |
Root Access | Yes |
Shell Access | Yes |
Web Server | AOLServer |
Security
Audit Trail | Yes |
Content Approval | Yes |
Granular Privileges | Yes |
Kerberos Authentication | Yes |
LDAP Authentication | Yes |
Login History | Yes |
NIS Authentication | Yes |
NTLM Authentication | Yes |
Pluggable Authentication | Yes |
Problem Notification | Yes |
Sandbox | Yes |
Session Management | No |
SMB Authentication | Yes |
SSL Compatible | Yes |
SSL Logins | Yes |
SSL Pages | Yes |
Versioning | Yes |
Support
Certification Program | No |
Commercial Manuals | No |
Commercial Support | Yes |
Commercial Training | No |
Developer Community | Yes |
Online Help | No |
Pluggable API | Yes |
Professional Hosting | Yes |
Professional Services | Yes |
Public Forum | Yes |
Public Mailing List | Yes |
Third-Party Developers | Yes |
Users Conference | Yes |
|
Ease of Use
Drag-N-Drop Content | No |
Email To Discussion | Yes |
Friendly URLs | Yes |
Macro Language | Yes |
Server Page Language | Yes |
Spell Checker | Yes |
Template Language | Yes |
UI Levels | No |
Undo | Yes |
WYSIWYG Editor | Yes |
Management
Advertising Management | Yes |
Asset Management | Yes |
Clipboard | Yes |
Content Scheduling | Yes |
Content Staging | No |
Inline Administration | No |
Online Administration | Yes |
Package Deployment | Yes |
Sub-sites / Roots | Yes |
Themes / Skins | No |
Trash | No |
Web Statistics | Yes |
Web-based Style/Template Management | Yes |
Web-based Translation Management | Yes |
Workflow Engine | Yes |
Interoperability
Content Syndication (RSS) | Yes |
FTP Support | Yes |
UTF-8 Support | Yes |
WAI Compliant | Yes |
WebDAV Support | Yes |
XHTML Compliant | No |
Flexibility
CGI-mode Support | No |
Content Reuse | Yes |
Extensible User Profiles | No |
Interface Localization | Yes |
Metadata | Yes |
Multi-lingual Content | Yes |
Multi-lingual Content Integration | Yes |
Multi-Site Deployment | No |
URL Rewriting | Yes |
|
Performance
Advanced Caching | Yes |
Database Replication | No |
Load Balancing | Yes |
Page Caching | Yes |
Static Content Export | Yes |
Built-in Applications
Blog | Yes |
Chat | Yes |
Classifieds | Yes |
Contact Management | Yes |
Data Entry | Yes |
Database Reports | No |
Discussion / Forum | Yes |
Document Management | Yes |
Events Calendar | Yes |
Expense Reports | No |
FAQ Management | Yes |
File Distribution | Yes |
Graphs and Charts | Yes |
Groupware | Yes |
Guest Book | Yes |
Help Desk / Bug Reporting | Yes |
HTTP Proxy | Yes |
In/Out Board | No |
Job Postings | Yes |
Link Management | Yes |
Mail Form | Yes |
My Page / Dashboard | Yes |
Photo Gallery | Yes |
Polls | Yes |
Product Management | Yes |
Project Tracking | Yes |
Search Engine | Yes |
Surveys | Yes |
Syndicated Content (RSS) | Yes |
Tests / Quizzes | Yes |
Time Tracking | Yes |
User Contributions | Yes |
Web Services Front End | Yes |
Wiki | Ye |
Commerce
Affiliate Tracking | Yes |
Shopping Cart | Yes |
|
Created by OpenACS community, last modified by Ryan Gallimore 03 Oct 2008, at 06:27 PM
A quick install guide for Postgres 8.2 which takes everything into account can be found at http://cognovis.de/developer/en/pg82
For RPMs, see http://yum.pgsqlrpms.org/
These instructions should work for 7.4 to 8.2.
Get the source code
http://www.postgresql.org/download/
Install from source
Unpack PostgreSQL 7.4.7. If you have downloaded the postgresql tarball to /var/tmp/postgresql-7.4.7.tar.gz
[root root]# cd /usr/local/src
[root src]# tar xzf /var/tmp/postgresql-7.4.7.tar.gz
[root src]#
cd /usr/local/src
tar xzf /var/tmp/postgresql-7.4.7.tar.gz
If you have downloaded the postgresql tarball to /var/tmp/postgresql-7.4.7.tar.bz2
[root root]# cd /usr/local/src
[root src]# tar xfj /var/tmp/postgresql-7.4.7.tar.bz2
[root src]#
cd /usr/local/src
tar xfj /var/tmp/postgresql-7.4.7.tar.bz2
Create the Postgres user. Create a user and group (if you haven't done so before) for PostgreSQL. This is the account that PostgreSQL will run as since it will not run as root. Since nobody will log in directly as that user, we'll leave the password blank.
[root src]# groupadd web
[root src]# useradd -g web -d /usr/local/pgsql postgres
[root src]# mkdir -p /usr/local/pgsql
[root src]# chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
[root src]# chmod 750 /usr/local/pgsql
[root src]#
groupadd web
useradd -g web -d /usr/local/pgsql postgres
mkdir -p /usr/local/pgsql
chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
chmod 750 /usr/local/pgsql
Set up postgres's environment variables. They are necessary for the executable to find its supporting libraries. Put the following lines into the postgres user's environment.
[root src]# su - postgres
[postgres ~] emacs ~postgres/.bashrc
Paste this line into .bash_profile:
source $HOME/.bashrc
Paste these lines into .bashrc:
export PATH=/usr/local/bin/:$PATH:/usr/local/pgsql/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
Test this by logging in as postgres and checking the paths; you should see /usr/local/pgsql/bin
[root src]# su - postgres
[postgres pgsql]$ env | grep PATH
LD_LIBRARY_PATH=:/usr/local/pgsql/lib
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin
[postgres pgsql]$ exit
Don't continue unless you see correct output from env | grep PATH
Compile and install PostgreSQL. Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can configure PostgreSQL in various ways. To see what the possibilities, run ./configure --help.
[root src]# su - postgres
[postgres pgsql]$ cd /usr/local/src/postgresql-7.4.7
[postgres postgresql-7.4.7]$ ./configure
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
(many lines omitted>
linking ./src/makefiles/Makefile.linux to src/Makefile.port
linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s
[postgres postgresql-7.4.7]$ make all
make -C doc all
make[1]: Entering directory `/usr/local/src/postgresql-7.4.7/doc'
(many lines omitted)
make[1]: Leaving directory `/usr/local/src/postgresql-7.4.7/src'
All of PostgreSQL successfully made. Ready to install.
[postgres postgresql-7.4.7]$ make install
make -C doc install
make[1]: Entering directory `/usr/local/src/postgresql-7.4.7/doc'
(many lines omitted)
Thank you for choosing PostgreSQL, the most advanced open source database
engine.
su - postgres
cd /usr/local/src/postgresql-7.4.7
./configure
make all
make install
Start PostgreSQL. The initdb command initializes the database. pg_ctl is used to start up PostgreSQL.
[postgres postgresql-7.4.7]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
(17 lines omitted)
or
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
[postgres postgresql-7.4.7]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start
postmaster successfully started
[postgres postgresql-7.4.7]$
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start
PostgreSQL errors will be logged in /usr/local/pgsql/data/server.log
Install Pl/pgSQL.Set up plpgsq and allow your user to have access. Plpgsql is a PL/SQL-like language. We add it to template1, which is the template from which all new databases are created. We can verify that it was created with the createlang command in list mode.
[postgres postgresql-7.4.7]$ createlang plpgsql template1
[postgres pgsql]$ createlang -l template1
Procedural languages
Name | Trusted?
---------+----------
plpgsql | t
(1 row)
[postgres pgsql-7.4.7]$
createlang plpgsql template1
createlang -l template1
If you are installing Postgres 8.x, follow additional instructions at en:How_to_install_in_Postgres_8.x
If you are installing tsearch2, follow additional instructions at en:postgresql-tsearch2
Test PostgreSQL (OPTIONAL). Create a database and try some simple commands. The output should be as shown.
[postgres pgsql]$ createdb mytestdb
CREATE DATABASE
[postgres pgsql]$ psql mytestdb
Welcome to psql, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
mytestdb=# select current_timestamp;
timestamptz
-------------------------------
2003-03-07 22:18:29.185413-08
(1 row)
mytestdb=# create function test1() returns integer as 'begin return 1; end;' language 'plpgsql';
CREATE
mytestdb=# select test1();
test1
-------
1
(1 row)
mytestdb=# \q
[postgres pgsql]$ dropdb mytestdb
DROP DATABASE
[postgres pgsql]$ exit
logout
[root src]#
Set PostgreSQL to start on boot. First, we copy the SERVERROOT/packages/acs-core-docs/www/files/postgresql.txt init script, which automates startup and shutdown, to the distribution-specific init.d directory. Then we verify that it works. Then we automate it by setting up a bunch of symlinks that ensure that, when the operating system changes runlevels, postgresql goes to the appropriate state. Red Hat and Debian and SuSE each work a little differently. Be sure to check OS distribution notes for specifics (and examples)
Once installed, PostgreSQL should start automatically each time you boot up and it should shutdown gracefully each time you shut down.