View · Index

Weblog

Filtered by date 2019-03-22, 1 - 7 of 7 Postings (all, summary)

Web Forms

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}}}
}

 

2006 Fall Conference Submissions and Program

Created by Carl Robert Blesius, last modified by Gustaf Neumann 22 Mar 2019, at 11:17 PM

OpenACS/.LRN Fall Conference 2006

 

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.

09:40 Keynote: Photo.net and ACS

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

Towards Full Accessibility in LMS

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

 

Day 3 and 4 - Training and Hacking Days at the Boston Museum of Science

November_3rd_and_November_4th_Training_and_Hacking_Days

OpenACS/.LRN for Debian

Created by Héctor Romojaro, Stefan Sobernig, last modified by Gustaf Neumann 22 Mar 2019, at 11:14 PM

 

Logo

 

Packages of OpenACS and .LRN are now available for Debian GNU/Linux. We hope to facilitate the adoption by novices and the infrastructure deployment by professional users, both running Debian GNU/Linux and its derivatives. Our packaging activity explicitly targets Debian GNU/Linux stable, testingand unstable. Important dependencies are co-maintained with the Debian Tcl/Tk Maintainers.

See also OpenACS for Ubuntu.

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


  1. Run:

    apt-get update

     

  2. (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.
     
  3. Install the core packages and follow the on-screen instructions:
     
    # OpenACS
    apt-get install openacs
    ... or ...
     
    # .LRN
    apt-get install dotlrn   

After Install

  1. (optional) To change IP address and port of the instance, please edit the file:
     
    # OpenACS
    /etc/openacs/openacs.sh
    
    # dotLRN
    /etc/dotlrn/dotlrn.sh
    
    
    
  2. (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


Packages status


Packages maintained by Debian Tcl/Tk Maintainers

 

Packages co-maintained by OCT & Debian Tcl/Tk Maintainers

 

 

 

Prodding

Please, for getting in contact and reporting issues, consider ...

tDOM

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

Introduction to OpenACS

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.

 

Testing with Selenium

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).

  1. You need to have the Firefox Browser version 1.5 or higher
  2. Proceed to http://www.openqa.org/selenium-ide/ and click on the link (Firefox Extension) to install the Selenium IDE firefox extension
  3. Restart firefox
  4. Click Tools -> Selenium IDE
  5. The selenium ide window will open
  6. It will start recording your actions in the browser.
  7. You can go ahead and go to a url and click on the links to see how the recorder records your actions.
  8. To disable recording while the recorder window is open, click the "red" button.
  9. Selenium verifies that a test or action is successful by checking the title or text in a webpage
  10. You can verify the title of the current page  by right clicking on the webpage you are currently in and click Append Selenium -> verifyTitle
  11. 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 :

  1. Download selenium from http://www.openqa.org/selenium-core/download.action
  2. Choose to download the "Full Release"
  3. After downloading, decompress the file.
  4. You will see a folder selenium-x.x where "x.x" is the version of selenium you downloaded.
  5. Go inside this folder and look for the "selenium" folder.
  6. Copy this "selenium" folder to the openacsroot/www/ directory
  7. 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 :

  1. Customize the landing page /selenium/index.html
  2. 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.
  3. 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.

 

OpenACS compatibility matrix

Created by Joel Aufrecht, last modified by Gustaf Neumann 22 Mar 2019, at 12:10 PM

OpenACS requires, at a minimum, an operating system, database, and web server to work. Many additional programs, such as a build environment, Mail Transport Agent, and source control system, are also needed for a fully effective installation.

Table 2.2. Version Compatibility Matrix

OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0 5.1 5.2 (core) 5.3 (core) 5.4 (core) 5.5 (core) 5.6 (core) 5.7 (core) 5.8 (core) 5.9.0 (core) 5.9.1 (core) 5.10.0 (core)
AOLserver 3 Yes No
3.3+ad13 Maybe Yes No
3.3oacs1 Maybe Yes No
3.4.4 No
3.4.4oacs1 Maybe Yes No
3.5.5 Maybe Yes No
4.0 Maybe Yes No
4.5 No Yes No
4.5.2 No Yes
NaviServer 4.99.4 - No Maybe Yes
Tcl 8.4 Yes No
8.5.4 - Maybe Yes
8.6.7 - No Maybe Yes
XOTcl 1.6 - Yes No
2.0 - No Yes
PostgreSQL 7.4 No Yes No
8.0 No Maybe Yes Maybe No
8.1 No Yes Maybe No
8.2 No tar: no, CVS: Yes Yes Maybe No
8.3 No Yes Maybe No
8.4 No Yes No
9.0 No Yes Mostly
9.2 No Mostly yes Mostly
9.4 No Mostly yes
11 No CVS: yes Yes
Oracle 8.1.6 Maybe Yes Maybe
8.1.7 Maybe Yes Maybe
9i No Yes Maybe
10g No Yes Maybe
11g No Maybe

The value in the cells correspond to the last version of that release, and not necessarily to all minor releases. Empty cells denote an unknown status.

previous March 2019 next
Sun Mon Tue Wed Thu Fri Sat
24 25 26 27 28 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 (1) 18 19 (2) 20 21 (7) 22 23
24 (1) 25 26 27 28 29 30
31 1 2 3 4 5 6

Popular tags

17 , 5.10 , 5.10.0 , 5.9.0 , 5.9.1 , ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bootstrap , bugtracker , CentOS , COMET , compatibility , CSP , CSRF , cvs , debian , docker , docker-compose , emacs , engineering-standards , exec , fedora , FreeBSD , guidelines , host-node-map , hstore
No registered users in community xowiki
in last 30 minutes
Contributors

OpenACS.org