Showing 91 - 100 of 693 Postings (
summary)
Created by Gustaf Neumann, last modified by Gustaf Neumann 25 Apr 2019, at 09:54 AM
Package Specification Summary for Package: richtext-ckeditor4
Summary: |
Richtext editor plugin for integrating CKeditor 4 with acs-templating |
Description: |
|
Maturity: |
Mature |
This package depends on: |
acs-templating acs-tcl attachments |
Packages that depend on richtext-ckeditor4: |
xowiki |
Package parameters: |
- SCAYT
- Fully featured "Spell Check As You Type" based on WebSpellChecker.net. Please note that the spellchecked words are transferred to that site, so you might be cautious to activate this feature for confidential content. (default false, type string, scope instance)
|
Bug Tracker Summary for Package: richtext-ckeditor4
There is no package with the name "richtext-ckeditor4" known to bug-tracker.
Code Metrics Summary for Package: richtext-ckeditor4
# Tcl Procs |
9 |
# Tcl Lines |
667 |
# Tcl Blank Lines |
91 |
# Tcl Comment Lines |
135 |
# Automated Tests |
0 |
# Stored Procedures |
PG: 0 ORA: 0 |
# SQL Lines |
PG: 0 (blank 1 comments 0)
ORA: 0 (blank 1 comments 0) |
# ADP pages |
1 |
# ADP lines |
11 |
# Include pages (richtext-ckeditor4/lib/) |
1 |
# Documentation pages |
0
|
# Documentation lines |
0 |
Browse Source |
API-browser |
Github Repository: |
https://github.com/openacs/richtext-ckeditor4/tree/oacs-5-10
|
In general, the CKEditor can be used via CDN (zero configuration, default) or via local files. One can use /acs-admin/ (section "Site-wide Service Administration" to download a version to your local site to reduce latency or to use local modifications. By default, the "standard" preset is downloaded. By altering the variable "ck_package" in packages/richtext-ckeditor4/tcl/richtext-procs, one can download other presets as well (see https://ckeditor.com/presets-all).
The CKEditor widget can be used at least in two scenarios: (a) as a richtext-widget or (b) within xowiki as a class of a form-field.
- (a) Here is an example for the use of the richtext widget configured for ckeditor4, showing some options:
text:richtext(richtext),nospell,optional
{label "CKEditor"}
{html {rows 15 cols 50}}
{options {
editor ckeditor4
plugins wsc
extraAllowedContent "u;span{color}"}
}
This minimal example should work with the "standard" distribution of CKEditor and adds the "wsc" (Web Spell Checker) plugin, and allows the tag <u>u and <span style="color:...">...</span> to be used in the content. Otherwise, these flags are removed by the context filter of the editor (for details, see CKEditor documentation). Additional "options" are "skin" and "customConfig", where the latter refers to a JavaScript file which can be used for detailed configuration (for more details, see https://docs.ckeditor.com/#!/guide/dev_configuration).
Note, that the usual constraints for richtext widgets holds like for all other richtext implementations (e.g. the editor will only be activated, if UseHtmlAreaForRichtextP is set to true).
- (b) when used as a form-field within xowiki forms, there are detailed config options available: mode, displayMode, skin, toolbar, CSSclass, uiColor, allowedContent, customConfig, extraPlugins, extraAllowedContent, templatesFiles, templates, contentsCss, imageSelectorDialog, and additionalConfigOptions. A short introduction to form-fields is in http://alice.wu-wien.ac.at:8000/xowiki-doc/#forms. One should set the PreferredRichtextEditor (xowiki global parameter) to ckeditor4.
Created by Gustaf Neumann, last modified by Gustaf Neumann 02 Apr 2019, at 11:06 AM
Upgrades from earlier version than OpenACS 5.8 should read upgrade-oacs-5-8.
OpenACS 5.9 requires PostgreSQL 9.0 or newer and XOTcl 2.0 or newer (part of the nsf package). XOTcl 2.0 can be installed e.g. via install-ns, or from Debian sid https://packages.debian.org/sid/, or from sources https://next-scripting.org/. In order to check the versions of these packages already installed in your OpenACS installation, check the output of /xotcl/version-numbers in your installation.
Before upgrading to OpenACS 5.9, upgrade all packages in your current installation to recent versions in your OpenACS 5.8 installation (i.e. in the oacs-5-8 channel, especially if you are using edit-this-page, which has bugs in its data model that can complicate the oacs-5-9 installation).
In general it is always recommended to backup your current installation before overwriting it. Make e.g. a tar archive of all files of the OpenACS tree and a database dump.
After upgrading the packages in the oacs-5-8 channel, the following steps are recommended:
- Restart the server with OpenACS 5.8
- Install newest version of the source files (e.g. from the OpenACS 5.9 tar distributions, or install/upgrade from the oacs-5-9 branch from cvs),
- Upgrade the acs-core packages via package manager, restart server
- Upgrade/install application packages via package manager as needed (from file-system or from repository)
To upgrade from OpenACS 5.9.0 to OpenACS 5.9.1 it is recommended to upgrade via tar ball or via CVS. Upgrade from repository works for NaviServer, but leads to an error after the install steps with AOLserver (the installation is OK, after a restart, everything is OK).
Step by step upgrade from OpenACS 5.8 directly to OpenACS 5.9.1
The following steps assume, you have a plain, not modified version of OpenACS running.
- Upgrade to the latest version of OpenACS 5.8, e.g. via
cvs -r oacs-5-8 openacs-4
Restart the server and make sure, you have upgrade all packages;
under /acs-admin/apm/ you should see a Kernel like 5.8.3d2 running.
- Get release tar file
Get the tar file of openacs-5.9.1, unpack it (e.g. under /usr/local), copy content over your current installation
cd openacs-4
cp -r /usr/local/openacs-5.9.1/* .
and restart server.
- Upgrade packages:
Browse to /acs-admin/install click on "upgrade from local", select all packages, restart server - done.
In case, you have a locally modified version of OpenACS, but you have not modified the kernel packages, then make sure to get the tar file of the core packages in step (2), proceed as described, upgrade the acs-core packages first and then the application packages of your installation.
In case you have in your installation as well changes in the acs-core packages (which is not recommended, but it happens), then get the diffs (you local changes) between the acs-core packages of oacs-5-8 and your installation, proceed as with the unmodified acs-core packages (paragraph above) and apply/merge your local changes after upgrading.
These steps are working also with recent versions of PostgreSQL such as 11.1.
Created by Martin Matuska, last modified by Gustaf Neumann 25 Mar 2019, at 07:29 AM
This quick-and-dirty guide is intended for more experienced (or very impatient) users.
More detailed instructions can be found here.
1. Installation requirements
FreeBSD (7.x, or 6.x) with updated ports tree
and NOT yet installed ports databases/postgresql82-server, www/openacs or www/openacs-dotlrn
2. Installing OpenACS
Enter the following shell commands:
# cd /usr/ports/databases/postgresql82-server
# make install clean
# cd /usr/ports/databases/p5-postgresql-plperl
# make install clean
# echo 'postgresql_enable="YES"' >> /etc/rc.conf
# cd /usr/ports/www/openacs
# make install clean
# echo 'openacs_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/postgresql initdb
# /usr/local/share/doc/openacs/adjust_pgsql_conf.sh
# /usr/local/etc/rc.d/postgresql start
# /usr/local/share/doc/openacs/create_sampledb.sh
# /usr/local/etc/rc.d/openacs start
Now open in your browser http://localhost:8000 and fill in all necessary data, finalize installation. The OpenACS server goes down afterwards.
# /usr/local/etc/rc.d/openacs start
That's all! You local OpenACS installation is accessible under http://localhost:8000
3. Installing .LRN
Enter the following shell commands:
# cd /usr/ports/databases/postgresql82-server
# make install clean
# cd /usr/ports/databases/p5-postgresql-plperl
# make install clean
# echo 'postgresql_enable="YES"' >> /etc/rc.conf.local
# cd /usr/ports/www/openacs-dotlrn
# make install clean
# echo 'dotlrn_enable="YES"' >> /etc/rc.conf.local
# /usr/local/etc/rc.d/postgresql initdb
# /usr/local/share/doc/dotlrn/adjust_pgsql_conf.sh
# /usr/local/etc/rc.d/postgresql start
# /usr/local/share/doc/dotlrn/create_sampledb.sh
# /usr/local/etc/rc.d/dotlrn start
Now open in your browser http://localhost:8000 and fill in all necessary data, finalize installation. The .LRN server goes down afterwards.
# /usr/local/etc/rc.d/dotlrn start
That's all! You local .LRN installation is accessible under http://localhost:8000
A. Contact information and bug reporting
Please send bug reports and feature suggestions to the port maintainer of OpenACS/.LRN FreeBSD ports:
Martin Matuska <mm_at_FreeBSD_dot_org>
Created by Rocael Hernández Rizzardini, last modified by Gustaf Neumann 22 Mar 2019, at 11:21 PM
Use ad_form to create HTML forms. If you work on a page that does not, convert it to use ad_form.
You can grep the toolkit under /packages and see many examples.
Ad_form can handle many of your possible interactions with the system, such as normal tasks as add and edit data, validate entry form data, etc.
Additional information here:
Rubick on ad_form
Use the following in the tcl part of a page to limit access to page requests via post.. to reduce vulnerability to url hack and insertion attacks from web:
if { [ad_conn method] ne "POST" } {
ad_script_abort
}
Grouping elements into sections using ad_form
The {-section} list allows to group the subsequent elements (until the next section declaration) into a section. {-section} accepts 4 properties:
{-section
section_id
{legendtext $legendstring}
{legend {name value name value ... name value}}
{fieldset {name value name value ... name value}}
}
where:
- section_id: a string to identify the section (mandatory)
- legendtext (optional) a string for the legend of the fieldset (section)
- legend (optional) a list of name value pairs attributes for the LEGEND tag
- fieldset (optional) a list of name value pairs attributes for the FIELDSET tag
Example
ad_form \
-name "your_zen_level" \
-method post -html {enctype multipart/form-data class margin-form} \
-fieldset {{title "T1" class "C1"} "This really works!!"} \ -form { # Start section 1 {-section "sec1" {legendtext "Section Title I"} {legend {class myClass id myId}}}
{zen_comment:text(comment)\
{label "template::widget::comment"}\
{value "Please enter your comments."}\
{html {rows 7 cols 50}}}
{zen_file:text(file),optional\
{label "template::widget::file"}}
# Start section2
{-section "sec2" {legendtext "Section Title II"} {fieldset {class myclass}}}
{zen_multiselect:text(multiselect)\
{label "template::widget::multiselect"}\
{options {"mark" "emma" "avni" "carl" "don"}}}
# Unset the section. subsequent elements will not be in any section.
{-section ""}
{zen_text:text(text),optional,nospell\
{label "template::widget::text"}\
{help_text {"Your identification tag number"}}}
{zen_textarea:text(textarea),optional,nospell\
{label "template::widget::textarea"}\
{help_text {"Please describe your desired state of being"}}\
{html {rows 7 cols 50}}}
}
Created by Carl Robert Blesius, last modified by Gustaf Neumann 22 Mar 2019, at 11:17 PM
Day 1 (Nov. 1) - International Workshop on Community Based E-Learning Systems
Location: Harvard Conference Center Rotunda
07:30-08:30 Continental Breakfast and onsite registration
08:30 Opening Remarks and Orientation
08:40 Keynote: Creating Passionate Users
What do game designers, neuroscientist, and filmmakers know about creating passionate users? How can we exploit the way the brain works to reach our users/learners at a deeper level that inspires their attention, enthusiasm, long-term loyalty, and evangelism? New research points to a different way to craft interactive experiences that get the user's attention and--most importantly--KEEP it. For today's learners, sound instructional design is no longer enough.
In this session, we'll explore ways to work around the brain's natural filters that keep our message from getting in. We'll cover how to give interactive experiences an almost addictive quality--to keep our users engaged and wanting more. There's a place where science and entertainment meet that knows what turns the brain on, and we'll look at simple, powerful, easy-to-implement ways to make that happen. Whether you're building e-learning or plain old paper documentation, you'll learn techniques for creating passionate users/learners that you can put to work immediately.
Kathy Sierra
Kathy Sierra spent the last decade as a game developer, master trainer for Sun Microsystems, and creator of the first New Media Interaction Design courses for UCLA Extension's Entertainment Studies Department at the IBM New Media Lab. Together with her partner Bert Bates, Kathy created the bestselling and award-winning "brain-friendly" Head First book series. She's the original founder of the largest non-commercial software development community, Javaranch.com, and author/creator of a Technorati Top 100 Blog. When she's not working on ways to help humans learn more quickly, she's playing with her three super-smart Icelandic horses.
Philip Greenspun will talk about:
- How is it possible that ACS is still viable?
- The history of photo.net and ACS
- stuff he and others are working on at photo.net
Philip Greenspun has been in and around the Massachusetts Institute of Technology since 1979. He alternates between teaching traditional electrical engineering classes and teaching "Software Engineering for Web Applications" (6.171), a course that he co-developed with Hal Abelson. This has been a successful course at MIT and is being used by computer science departments at 20 other universities around the world. Greenspun is the author of two textbooks used at MIT, including Internet Application Workbook (available at http://philip.greenspun.com/internet-application-workbook/). Greenspun is an instrument-rated private pilot and has flown his Diamond Star across most of the North American continent and two-thirds of the Caribbean islands.
In the mid-1990s, Greenspun founded the Scalable Systems for Online Communities research group at MIT and spun it out into ArsDigita, which he grew into a profitable $20 million (revenue) open-source enterprise software company. The software is best known for its support of public online communities, such as www.scorecard.org and photo.net, which started as Philip Greenspun's home page and grew to serve 500,000 users educating each other to become better photographers.
The learn@wu project
Gustaf Neumann - Chair of Information Systems and New Media at the University of Economics and Business Administration (WU) in Vienna, Austria
How do you create one of the most intensively used e-learning platforms worldwide? Gustaf explains.
Communities of users to support an open LMS: the Moodle perspective
Martyn Cooper - Head of Accessible Educational Media group at the Open University of UK
Martyn gives us a little peek into an alternate universe.
10:45-11:00 Coffee Break
User-centred approach in LMS: Adaptiveness and Accessibility
Jesús G. Boticario - Head of aDeNu Research Group at The Universidad Nacional de Educación a Distancia (Spain)
Jesús introduces a new (.LRN related) European funded project focused on making sure that the technology that mediates lifelong learning does so accommodating the diversity of ways people interact with technology and the content and services it delivers.
E-Lane: European and Latin American New Education
Carlos Delgado-Kloos - Head of the Department of Engineering and Telematics at Universidad Carlos III de Madrid
Carlos gives us a quick overview, summary, and results of the E-Lane project that is coming to a close, but will live on in our software.
E-Learning in a Disconnected and Low Bandwidth Environment
Álvaro Rendón - University of Cauca Columbia
Álvaro will give an example of the E-Lane project in action that is based on .LRN and used in rural Colombia. It addresses network environments with low bandwidth connectivity and low cost access infrastructures.
01:00 PM Lunch
02:00 Afternoon sessions
2:00 PM Track 1: Accessibility and Technical Track
|
2:00 PM Track 2: Case Studies and Theory
Education Talks and Demos
|
2:00 to 2:30 pm
Keynote: Accessibility in Community and Open Source Software Developments: the Moodle perspective
Martyn Cooper - Head of Accessible Educational Media group at the Open University of UK
Among diverse research and internal consultancy roles, Martyn Cooper has overall responsibility for accessibility in the Open University's Virtual Learning Environment which is based on Moodle. The Open University has nearly 10,000 disabled students and takes its legal and moral responsibility to give them equal access to its teaching and learning very seriously. It has been making substantial investments within the Moodle community to address the current deficits in accessibility of the software. This paper reflects on this process and the more general issues of accessibility in community based and open source software developments.
|
2:00 to 2:30 pm
The Educator’s Guide to the Flat World: Flatteners and Convergences That Change Everything in Education
Steve Wilmarth
This workshop will focus on Thomas Friedman’s book, The World is Flat, and the theses that are driving globalization and multi-cultural educational issues. Participants will develop ideas on how to think creatively and innovatively about changes that impact the purpose and value of education in the 21st century. Participants will be challenged to see how the themes and concepts articulated in The World is Flat can or should be applied in classroom practices.
|
2:35pm to 3:05pm
Innovation and Research Accessibility Issues on eLearning: a user modelling approach
Jesús G. Boticario - Head of aDeNu Research Group at UNED (Spain)
|
2:35pm to 3:05pm
E-campus implementation: experiences at Galileo University
Rocael Hernandez
Integration is a key factor for creating an e-campus initiative comprised of various systems. While there are multiple technical options for e-campus dynamic web services, we have chosen to use OpenACS for most of our web services.OpenACS has been an extremely powerful development framework to create new modules and achieve simple integration. Services provided in the e-campus initiative include .LRN, a Learning Management System (LMS), public news and institutional small Content Management System (CMS), tuition payment, course assignments, professor profiles, work opportunities and single account creation.
|
3:10pm to 3:40pm
Accessibility Requirements in dotLRN
Olga C. Santos - R&D Technical Manager of aDeNu Research Group at UNED (Spain)
Coffee Break 3:40-4:00 pm
|
3:10pm to 3:40pm
The DGSOM Personnel System, Weekly Message Digest, Room Reservation System, and Calendar Application
Avni Khatri, UCLA - CTRL
Many universities, like the David Geffen School of Medicine at UCLA (DGSOM), are busy, heterogeneous organizations of people and resources alive with meetings, presentations, and cross collaborations. Perhaps because of our size, DGSOM is more like a federation of city-states than a well-structured hierarchically administered organization. Consequently, common problems are often encountered and addressed in isolation of one another, and this has led, in our case, to a morass of incompatible partial solutions to similar problems. A few of examples if this include Web-presentation of faculty member profiles, shared management of resources like conference rooms, and the dissemination of events and other timely information.
The Computing Technologies Research Lab (CTRL) at UCLA is a software development group within DGSOM that provides open source solutions to research and clinical data collection, management and reporting problems. Members of CTRL have used the AOLserver (p.k.a NaviServer) to build web-based applications at UCLA since 1994.
Using the OpenACS framework (and Oracle RDBMS), CTRL has developed several applications that address a set of problems that all universities face in one form or another: centrally managing faculty information and integrating the information with heterogeneous departmental web sites (using ACS subsites), and centrally managing shared resources, like conference rooms, in a fashion that protects departmental control over the resources.
The presentation will include requirements, design, and technical details of how we have tailored the OpenACS to address the faculty database, room reservations, and the weekly message digests.
Coffee Break 3:40-4:00 pm
|
4:00pm to 4:30pm
Federated Search for Locating Learning Resources from Heterogeneous Learning Repositories
Stefan Sobernig
Stefan will talk about using OpenACS/DotLRN in a federated search environment for locating learning resources from heterogenous learning repositories (usage of OpenACS in the EU research projects iCAMP and Prolix, learning networks, SQI).
|
4:00pm to 4:30pm
ePortfolios: Using Personal Learning Landscapes, Student Performance Evaluation and Life-Long Learning Opportunities
Steve Wilmarth
This workshop will explore the use and application of ePortfolios as an alternative and/or supplemental assessment practice. Participants will develop ideas on how to use ePortfolios as an essential component of a personal learning landscape.
|
4:30pm to 5:00pm
Implementation of IMS-LD in .LRN
Luis de la Fuente Valentin - Universidad Carlos III de Madrid
Applying pedagogical models to e-learning courses is the aim of the IMS Learning Design Specification, which can be used to describe educational processes by defining the flow of e-learning activities. Its design is wide enough to manage any methodology, and it provides a way to add services as a support tool for the learning activities. A .LRN player for IMSLD packages has been developed by the University Carlos III of Madrid, and is designed from scratch and fully integrated with the platform.
|
4:30pm to 5:00pm
Collaborative Curriculum: Using .LRN to Coordinate Data Collection and Analysis Between Classrooms Featuring Microscopic Image Collections
With an NSF SBIR grant (National Science Foundation Small Business Innovative Research), Prime Entertainment has partnered with the Concord Consortium (CC), and Solution Grove (SG), to develop cutting edge collaborative curriculum centered around projects using a digital microscope. Prime Entertainment makes the QX5 hardware, CC is developing the Java application for collecting data, and SG is implementing the .LRN back end and website where teachers and students can share data and work together. Get a preview of how these systems integrate with each other and the structure of the online community.
|
5:00PM to 6:00PM: Informal demos and discussions
8:00PM: New England Seafood Dinner at the Summer Shack
Jasper White's Summer Shack
Telephone 617-867-9955
50 Dalton Street in the Back Bay,
across from the Sheraton Hotel entrance and the Hynes Auditorium. Upstairs from Kings Bowling Alley.
Closest Subway T Station: Green Line - Hynes Auditorium.
Day 2 (Nov. 2) - General Web Applications Focus - OpenACS
Free-form and technology focused with opportunities to demo
8:15AM - 8:50AM Breakfast
9:00AM - Start
Location: Harvard Conference Center Rooms 214/216/217/Lounge
The architecture of Phigita.net
Neophytos Demetriou
An XOTcl based architecture of an OpenACS-like system, scalability through database partitioning, providing google like services.
Zip Car
Roy Russell - Founding CTO
Roy advises the company on a broad range of subjects. He has been an integral part of the Zipcar team since inception. Since the early days of Zipcar, Roy has been instrumental in developing and deploying the unique technology that has given the company its leading position in user experience.
xoTcl for OpenACS Developers (Introduction)
Neophytos Demetriou and Gustaf Neuman
This will be a short introduction of what will be presented in more detail on Day 3 (during the hacking/training sessions at the Museum of Science).
Solution Grove
Demo of AJAX usage - Hamilton Chua remotely with Caroline Meeks and Dave Bauer live.
Porting Sloan from Oracle to Postgres - Please let us know if there is anyone with a oracle installation interested in moving to Postgres, we will only do this if there is interest. Deds Castillo remotely with Caroline Meeks and Dave Bauer live.
Two Approaches to Virtualization and OpenACS/.LRN
Two Approaches to Virtualization and OpenACS/.LRN
The two main approaches to virtualization, "total OS encapsulation" as done by VMWare Server, and the "shared-kernel" approach as taken by Solaris 10 with its Zones technology, will be discussed. A live demonstration of installing a working OS under each approach will be given.
Patrick Giagnocavo
Patrick Giagnocavo is the CEO of Zill.Net. Zill.Net offers hosting and colocation with a focus on OpenACS and .LRN setup and ongoing system administration.
Remote queries with SOAP:
We have designed and created a simple way to run queries on a remote server, using SOAP to send queries and receive results that are similar to those that the db_* API returns. This method may be used by other applications such as the <multiple> tag and list-builder.
xoORB: An XOTcl based Object Request Broker for OpenACS (SOAP-based web-services, client, and server framework)
Stefan Sobernig
Conformance Testing of the .LRN platform
Gerardo Morales - Groupe des Ecoles des Télécommunications/ Institut National des Télécommunications (GET/INT) France
For big and complex applications such as .LRN, it is mandatory to execute in a scheduled way a set of test cases to assure its stability and the conformance to its original model, along with the continuous development of such application. This presentation highlights the importance of conformance testing and the types of tests needed for the .LRN platform. It also presents a new method to automatically generate test cases from a .LRN model described in UML.
Selenium Unit Tests in OpenACS
Tracy Adams (ACSPropel)
1. Creating Selenium Unit Tests
2. Hosted Selenium Unit Test management
1:00 PM to 1:50 PM: Lunch
Marketspace Advisory
Sam Stearns
Marketspace Advisory is a strategy consulting firm focused on improving its clients' customer-facing interface systems and associated channel migration challenges. Clients include large organizations in the media, financial services, and consumer products sectors. We use an OpenACS /.LRN - based extranet during our engagements to share knowledge with our clients (especially via social bookmarking) and help raise their digital literacy.
Load balancing using a cluster with .LRN
This talk describes a widely-distributed and integrated functionality to increase performance and service. The installation includes multiple servers specialized for both static and dynamic information. Also some specific synchronization scripts will be described that replicate high traffic pages that do not change often and are the same for most users. The following will also be discussed:
- cache sharing
- node sharing
- reload of procs
- Content Repository (CR) file system sharing
.LRN Windows installer
We present an easy way to run and test .LRN and OpenACS in your windows installation. This method is based on the original design by Rocael Hernandex, initial development by Vlassis and then ProjectOpen in Barcelona, and has been fully-refactored and now maintained by Byron Linares.
OpenACS OCT/.LRN Leadership Team/EU4ALL Meeting
The European project "EU4ALL" just started (EU4ALL stands for "European Unified Approach for Accessible Lifelong Learning") and the Scientific Coordinators of the project (aDeNu Research Group at UNED represented by Emma, Olga, and Jesús) want to meet with OpenACS/.LRN leadership to align common objectives and define a framework to reach them Audio OpenACS_Meeting_Nov_2006.ogg (OGG) OpenACS_Meeting_Nov_2006.mp3 (MP3)
Demos
Caroline Meeks and Dave Bauer
1. AJAX UI examples
2. Extending List Builder with filters and graphs
3. Moving SloanSpace from Oracle to Postgres
4. Dynamic Types (Dave and Lee together we hope)
UG-Surveys
A package that administers multiple surveys that are being sent to users. It administers the assessment package. At Galileo has been used widely to used to pass out surveys to students across the different programs. So far more than 65,000 surveys has been answered.
- Create survey templates
- Deploy templates
- Close surveys and results
November_3rd_and_November_4th_Training_and_Hacking_Days
Created by Héctor Romojaro, Stefan Sobernig, last modified by Gustaf Neumann 22 Mar 2019, at 11:14 PM
Getting started
Please, review the section on supported distributions first. Currently, the core packages (openacs, dotlrn) and their dependencies are included into the official Debian GNU/Linux repositories.
Install
-
Run:
apt-get update
- (optional) Provide for a PostgreSQL environment: If you don't have a PostgreSQL installation at hand, provide one. You do not need to care about setting up a concrete data base. This is automatically done by the OpenACS and dotlrn post-install instructions. For further PostgreSQL-related set-up issue, see ...
apt-get install postgresql
If you run a remote PostgreSQL instance, remember to allow for access of the PostgreSQL Administrator (postgres) and the openacs/dotlrn user from machine hosting your OpenACS/.LRN installation.
- Install the core packages and follow the on-screen instructions:
# OpenACS
apt-get install openacs
... or ...
# .LRN
apt-get install dotlrn
After Install
- (optional) To change IP address and port of the instance, please edit the file:
# OpenACS
/etc/openacs/openacs.sh
# dotLRN
/etc/dotlrn/dotlrn.sh
-
(optional) To control the instance using daemontools, please install the daemontools debian packages and follow the instructions on the file:
# OpenACS
/usr/share/doc/openacs/README.daemontools
# dotLRN
/usr/share/doc/dotlrn/README.daemontools
To-dos
Next Steps, After Basic Installation (above)
People
Active contributors
- Héctor Romojaro
- Stefan Sobernig
- Avni M. Khatri
- Carl R. Blesius
Created by OpenACS community, last modified by Gustaf Neumann 22 Mar 2019, at 11:11 PM
A Tcl-based package, tDOM combines high performance XML data processing with easy and powerful Tcl scripting functionality. tDOM is one of the fastest ways to manipulate XML with a scripting language and uses very little memory. Newer versions of tDOM support JSON.
More info at http://tdom.org (mailing list)
What others say about tDOM
Using tDOM with OpenACS
tdom-programming
Created by Rocael Hernández Rizzardini, last modified by Gustaf Neumann 22 Mar 2019, at 11:04 PM
Start Playing With Openacs.
Before you know it, you will Become an Expert in the basics!
This is a quick guide of the things that you have to know in order to become productive in OpenACS. You have to master certain things before you can advance. A developer has to become an expert in handling and knowing the tools that he uses.
MAYBE, the very first thing to become aware of, is that your installed OpenACS server is self-documenting. Take a look at http://your.server/doc/ and spend some time here; I'd suggest an hour or so just to view the structure and get familiar with what is said where, and how it is said. WHENEVER you ask a question and get an answer, try to seek out the solution you get in the docs and piece it together. This WILL help you to gradually become an expert.
You have to become expert in:
- Emacs
- Tcl
- Linux (for OpenACS installation)
- Searching on OpenACS
- Functions that provides NaviServer
- Use of OpenACS
- Basic API OpenACS
Emacs:
You have to become expert in the text editor that you use for development since is a fundamental piece in your development environment. Not knowing the text editor in used makes it very limited and your work will be very unproductive.
Emacs is an extendable editor (but you can use any editor you want). Check out the oacs emacs module, pretty cool! en:ide-emacs
Minimal knowledge of Emacs:
- window management
- copy/paste
- DB access from emacs
- It's actually very simple, you run a shell in emacs and then run the text db client in the shell in emacs. Once inside emacs, <code>M-x shell (enter)</code> will put you in a shell. From there, you can do anything the shell can do, and then if you want you can save everything. So, oracle users can use sqlplus, postgres users can use psql. (watch out... by default emacs will NOT offer to save the buffer before you exit!)
- file management
- searching
Required time to know emacs ( 4 hours aprox).
PLEASE DON'T LET THAT SCARE YOU... you don't actually need to know EVERYTHING about emacs or be an expert in emacs itself. Me, I just know how to move the cursor, type, define a macro (no, really, this is easy too) and get into shell mode. Oh, and I can run (doctor) in the *scratch* buffer.
Tcl
Try searching google for "Tcl for Web Nerds" and/or look for some good, basic tutorials. I think you can learn at your own pace, and still have fun with OpenACS.
Minimal knowledge of Tcl:
- lists and manipulation functions
- strings
- proc/namespaces
- switch
- regular expressions (regexp)
- Everything that is basic to Tcl
(jiml) I'll suggest you find out how to run tclsh (or, say, psql) from inside emacs (see comment about emacs shell mode, above on this same page).
Required time to know and become used to Tcl (6-12 hours approx).
TCL for web nerds: https://openacs.org/test-doc/tcl-wn
Linux (for OpenACS Installation)
Minimal Knowledge
- user management
- group management
- permission
- compilation
- searching
- environment variables
Searching in OpenACS
Do your searching in OpenACS in different areas:
- forums (use google, example: site:opeancs.org postgres 8.1)
- code (use grep and find): find /path/name -name "*-oracle.xql" -exec grep whatever {} \; -print
- API doc (use to search procs)
Required Time (4 hours approx)
Debugging in OpenACS
This will help us to identify exactly what is producing an error. For that you have to learn::
- To read the log
- To use the Developer Support
To log everything in your log file, go to config.tcl and set "debug true.
Required Time (4 hours)
Functions of NaviServer
Check all of them ( ns_*)
HOWEVER NOTE that it is MUCH more important to see how these calls are used in OpenACS! (aside from which, it will take you less time to understand a single OpenACS interaction if you just look at one... the notes tutorial has a few; I would suggest that you do that tutorial and actually type everything in rather than cut and paste... then you touch every word)
NaviServer Documentation:
https://naviserver.sourceforge.io/n/toc.html
Required Time (4 hours aprox)
Use of OpenACS
Become expert in using OpenACS as a tool, from the user interface point of view.
Important items:
- Developer administration (Site-Wide-Admin) (4 hours)
- Applications: (4 hours or more)
- User administration:
- Understand the roles that exist.
- Will help a lot if you understand more about .LRN
- Basic API of OpenACS
- The -most- basic part of openacs is its object system.
Start to get familiar with the object system by reading
the definition which starts "create table acs_objects"
and find out everything you can about how to define your
own object types, how inheritance works, how to drop your types.
REMEMBER to drop things in -reverse- order from how you create.
Learn how acs_object inheritance works.
- Object and User and permission management
- DB (a detailed document describing the database access api is on your installed server at http://your.server/doc/db-api.html | a search for all tcl db procs: db_*)
- ad_conn (provides basic information regarding the browser the request is coming from as well as the user (if any logged in) who is doing the browsing; search at http://your.server/api-doc)
- Permissions: a permission is a statement of the following form:
PARTY (from table parties) whose party_id is X has
PRIVILEGE (from table acs_privileges) whose textual name is Y on
OBJECT (from table acs_objects) whose object_id is Z
You can:
- make such a statement (ex. group-of-my-students has "read" on my-student-forums)
- ask (in various ways) whether such a statement has been made
I would suggest for further study, that you:
- MOST IMPORTANT: try things out!!
- search google for "permissions tediously explained"
- also see the "notes" tutorial
- acs_rel is good tool for connecting objects. One application: groups of users (so one acs_rel "connects" one user to a common object, representing the group, ex: if andy, betty, carl, dirk and ed are in groups alpha-beta, there will be five acs_rels, all of them tied to alpha-beta on one side of the rel, and for rel, that rel will have one of the users on the other side of the rel)
- Site-map (instances and site nodes)
- another VERY important part of OpenACS that was not listed here before, is the templating system. If you have OpenACS installed, you can view the docs at http://your.server/doc/acs-templating/ and you can see dozens of demonstrations at http://your.server/doc/acs-templating/demo AAANNND if that's not enough, every demo has sample code and you can plug it right in to your page! As you can see, you can show values of Tcl variables, make lists and forms, include other templates and show database results and do all of this and more, looking any way you want.
Created by Hamilton Chua, last modified by Gustaf Neumann 22 Mar 2019, at 10:13 PM
Testing with Selenium
Selenium is primarily for feature testing, user interface and acceptance testing.
Recently OpenACS got support for Selenium RC on CVS HEAD to be released in OpenACS 5.6 sometime in the future.
Forum Posts :
https://openacs.org/forums/message-view?message_id=365992
Command Reference :
Selenium Documentation
Interesting Articles :
Tools :
Selenium Recorder Firefox Extension
Quickstart to Writing Tests:
This quickstart shows you how to start writing selenium tests with selenium and the selenium recorder (aka selenium-ide).
- You need to have the Firefox Browser version 1.5 or higher
- Proceed to http://www.openqa.org/selenium-ide/ and click on the link (Firefox Extension) to install the Selenium IDE firefox extension
- Restart firefox
- Click Tools -> Selenium IDE
- The selenium ide window will open
- It will start recording your actions in the browser.
- You can go ahead and go to a url and click on the links to see how the recorder records your actions.
- To disable recording while the recorder window is open, click the "red" button.
- Selenium verifies that a test or action is successful by checking the title or text in a webpage
- You can verify the title of the current page by right clicking on the webpage you are currently in and click Append Selenium -> verifyTitle
- You can verify the presence of text in a page by highlighting some text and then right click -> Append Selenium Command -> verifyTextPresent
Click here for a video of how to use Selenium IDE.
Selenium IDE allows you to create, save, load and run tests right from firefox without having to install Selenium on the server.
Selenium on the Server
Aside from using the Selenium IDE to test webpages, selenium itself can be installed on the server. This provides a central location for testers and developers to view and execute tests. "Server" here refers to the OpenACS instance where your application is running. If your OpenACS instance is in http://your_openacs_instance, then selenium should be installed in http://your_openacs_instance/selenium
WARNING: We do not recommend installing selenium on the server of a production instance. Only install selenium on a staging or test server. This is because
- When tests fail, they leave a mess of test data that you will not want on production
- Selenium is mostly javascript that can run on any browser. While there are currently no reports of exploits on servers running selenium, we do not want and (you should not too) take the risk of having it on a production box where it is possible for a clever hacker to utilize a browser vulnerability to break into your server.
To instal selenium on the server :
- Download selenium from http://www.openqa.org/selenium-core/download.action
- Choose to download the "Full Release"
- After downloading, decompress the file.
- You will see a folder selenium-x.x where "x.x" is the version of selenium you downloaded.
- Go inside this folder and look for the "selenium" folder.
- Copy this "selenium" folder to the openacsroot/www/ directory
- Launch a browser and go to http://your_openacs_instance/selenium
At this point, selenium is installed. The page that you see when you visit /selenium is the default selenium page. It lists the tests that come with selenium.
To start using selenium on the server :
- Customize the landing page /selenium/index.html
- Create Test Suites for each package. A test suite is just a file in selenium/tests that lists a number of tests for a particular feature or section of an application. For instance, TestSuite-News.html would be a file that lists the tests for the News Package.
- Upload tests to the /selenium/tests folder.
Guidelines for Creating and Running Tests for OpenACS Packages
Coming Soon .....
Some Limitations :
- Minor Issue with SSL : Selenium can't switch properly between http and https pages.
- File Input type not supported : You can't tell selenium to upload a file. But there is a work around with firefox. Read it here
- WYSIWYG Editors : Selenium can't write to some WYSIWYG editors like htmlarea but it seems to work with xinha, you just need to get the textearea element name that xinha uses.
Tips :
Use xpath to find specific html elements
I have scenario where I want to click ona image field with no id or name attribute so there's no easy way to tell selenium to click it. We can either ask the designer to put an id or name attribute or use xpath. Let's say the image button in question looks like this
<input type="image" src="images/long-login-btn.gif" width=166 height=15 />
the xpath syntax will be
//input[@src='https://openacs.org/images/long-login-btn.gif']
and you can use this in conjunction with clickAndWait
Use javascript to create dummy values
You can use javascript to generate values like so
javascript{'test' + (new Date()).getTime()}
and use store to store them to a value for use later in the selenium script.
Created by Michael Aram, last modified by Michael Aram 20 Mar 2019, at 05:17 PM
Caveat: Page under construction
There are several libraries and ways available to parse and/or generate JSON in OpenACS.