Development and Customization of OpenACS. OpenACS Package Architecture Functionality is divided into packages One package contains Data Model Tcl Libraries.

Slides:



Advertisements
Similar presentations
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Advertisements

Site Collection, Sites and Sub-sites
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
PHP Hypertext Preprocessor Information Systems 337 Prof. Harry Plantinga.
July 2010 D2.1 Upgrading strategy Javier Soto Catalog Release 3. Communities.
Microsoft Excel 2003 Illustrated Complete Excel Files and Incorporating Web Information Sharing.
Chapter 31 Basic Form-Processing Techniques JavaServer Pages By Xue Bai.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
Sakai Overview ITS Teaching and Learning Interactive Aurora Collado January 10, 2008.
Creating Web Page Forms. Objectives Describe how Web forms can interact with a server-based program Insert a form into a Web page Create and format a.
Writing Tcl Scripts Outline Goal Reading Syntax Data Types
SiS Technical Training Development Track Technical Training(s) Day 1 – Day 2.
CGI Programming: Part 1. What is CGI? CGI = Common Gateway Interface Provides a standardized way for web browsers to: –Call programs on a server. –Pass.
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
 2004 Prentice Hall, Inc. All rights reserved. Chapter 25 – Perl and CGI (Common Gateway Interface) Outline 25.1 Introduction 25.2 Perl 25.3 String Processing.
Web-based Document Management System By Group 3 Xinyi Dong Matthew Downs Joshua Ferguson Sriram Gopinath Sayan Kole.
Login Screen This is the Sign In page for the Dashboard Enter Id and Password to sign In New User Registration.
MSDSonline HQ: Viewer Site Tour Main Menu Getting to your Company List Searching within your Company List How to View and Print an MSDS How to Print a.
Dataface API Essentials Steve Hannah Web Lite Solutions Corp.
XP New Perspectives on XML Tutorial 3 1 DTD Tutorial – Carey ISBN
Lecture 3 – Data Storage with XML+AJAX and MySQL+socket.io
XP Tutorial 6New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Creating Web Page Forms Designing a Product Registration Form Tutorial.
XP Tutorial 6New Perspectives on HTML and XHTML, Comprehensive 1 Creating Web Page Forms Designing a Product Registration Form Tutorial 6.
Login Screen This is the Sign In page for the Dashboard New User Registration Enter Id and Password to sign In.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
IMS 4212: Application Architecture and Intro to Stored Procedures 1 Dr. Lawrence West, Management Dept., University of Central Florida
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
PHP meets MySQL.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
© Anselm Spoerri Web Design Information Visualization Course Prof. Anselm Spoerri
NMD202 Web Scripting Week3. What we will cover today Includes Exercises PHP Forms Exercises Server side validation Exercises.
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
Pumptheory.com Mark Aufflick 1 OACS Objects, Data & More Develop functional specification Determine inputs, outputs & interaction Design object model &
Dreamweaver MX. 2 Overview of Templates n Forms enable you to collect data from ______. n A form contains ________ such as text fields, radio buttons,
 cognovís 2008 ]project-open[ meets XoTCL ]po[ dynfields XoDynfields ]po[ contacts XoTCL ]po[ projects ]po[ categories OpenACS XoDynfields.
To access our web services, go to……. Click on Customer Login.
Tutorial 6 Working with Web Forms. XP Objectives Explore how Web forms interact with Web servers Create form elements Create field sets and legends Create.
XP New Perspectives on Microsoft Office FrontPage 2003 Tutorial 7 1 Microsoft Office FrontPage 2003 Tutorial 7 – Creating and Using Templates in a Web.
1 HTML Forms
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
Table of Contents TopicSlide Administrator Login 2 Administrator Navigations 3 Managing AlternativeDr.com Blogs 4 Managing Dr. Lloyd May Blogs 5 Managing.
Database Management System. DBMS A software package that allows users to create, retrieve and modify databases. A database is a collection of related.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
 2001 Prentice Hall, Inc. All rights reserved. Chapter 7 - Introduction to Common Gateway Interface (CGI) Outline 7.1Introduction 7.2A Simple HTTP Transaction.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Since you’ll need a place for the user to enter a search query. Every form must have these basic components: – The submission type defined with the method.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Developer Exam Preparation Thom Robbins Bryan Soltis
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTEGRATION.
Day 22, Slide 1 CSE 103 Day 22 Non-students: Please logout by 10:12. Students:
XP Tutorial 6New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Creating Web Page Forms Designing a Product Registration Form Tutorial 6.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
2440: 141 Web Site Administration Web Forms Instructor: Joseph Nattey.
Web Database Programming Using PHP
Database and Cloud Security
Web Database Programming Using PHP
Aggregation Aggregations operations process data records and return computed results. Aggregation operations group values from multiple documents together,
Intro to PHP & Variables
Manage your Interest Group
Web DB Programming: PHP
This is the Sign In page for the Dashboard
Presentation transcript:

Development and Customization of OpenACS

OpenACS Package Architecture Functionality is divided into packages One package contains Data Model Tcl Libraries User interface pages and templates

acs_objects universally unique id any interesting “item” is an object anything that has its own URL is an object can assign permissions on objects allows general services such as search, comments, notifications Extensible data models

Object Types Type hierarchy Attributes Type specific database table

Kernel Database Schema

User Model and Authentication Parties Users Groups Relationship Types Relational Segments Privileges Permissions

Permissions Hierarchy Admin ReadCreateWriteDelete

Reporting Bugs

Writing a bug report Steps to Reproduce 1. Browse to 2. do... Actual Results Expected Result

More information submission-instructions

Submitting Patchs submission-instructions.htmlhttp://openacs.org/bugtracker/openacs/patch- submission-instructions.html Best CVS diff from checkout cvs diff -Nu package-directory > patch-file diff -u package-dir/.../old-file package-dir/.../new- file > patch-file CVS diffs are easier to apply back to OpenACS

Further Documentation admin.htmlhttp://openacs.org/doc/current/acs- admin.html

More Documentation dex.htmlhttp:// dex.html

Programming in Tcl Each line of Tcl is interpreted as a seperate command procedure_name arg1 arg2 arg3

Programming in Tcl one command per line can continue a command on multiple lines with backslash

Strings set foo bar set foo “bar” set foo {bar} set foo [bar] set foo $bar set foo {$bar} set foo {[bar]}

Strings strings without whitespace don't require quotes strings with whitespace require quotes or curly braces contents of strings defines with quotes are evaluated contents of strings defined with curly braces are not evaluated

String Commands String commands are usually faster than regexp and regsub string match string map string equal append

Lists a list holds a sequence of elements elements can be a number, string, or another list set foo [list one two three] lappend foo “four” lindex $foo 1 llength $foo

Lists lsearch lrange

Arrays array set foo [list key1 value1 key2 value2] keys can be any string set bar $foo(key1) set baz “key2” set bar $foo($key2) array get foo

Procedures OpenACS ad_proc Named parameters Default @see)

ad_proc ad_proc –public note::new { -note_id -name:required -content:required {-creation_user “”} {-creation_ip “”} {-creation_date “”} } { … code goes here … }

Tcl Documentation Tcl for Web Nerds (good overview, slightly out of date) Tcl Man pages

Creating a Tcl script set my_var [ad_conn user_id]

Creating an ADP Template

Query the database db_1row get_user \ “select * from cc_users where user_id=:user_id” \ -column_array user

Bind Vars select * from cc_users where user_id=:user_id Prevents SQL injection

Results in ADP Name:

Multirow datasource db_multirow users get_users \ “select * from cc_users limit 10”

Muliple Tag

Retreiving Query Vars ad_page_contract { doc } { foo_id:integer,notnull {return_url “”} }

Users and permissions set user_id [ad_conn user_id] set package_id [ad_conn package_id] permission::require_permission \ - party_id $user_id \ -object_id $package_id \ -privilege “read”

Granting permissions permission::grant \ -party_id $party_id \ -object_id $object_id \ -privilege “admin”

ad_form/formtemplate Form processing Double-click protection Input validation Allows in-form error messages Form style seperated from form processing

ad_form ad_form \ form-name -form { object_id:key name:text(text) { label “Enter Name” } } –on_sumbit { db_dml add_name “insert into names (name) values (:name)” }

formtemplate

More on Forms view?proc=ad%5fformhttp://openacs.org/api-doc/proc- view?proc=ad%5fform templating/developer-guide.htmlhttp://openacs.org/doc/acs- templating/developer-guide.html

Template List Manage lists of information Integrated with multirow datasource Sorting, bulk actions, filtering

External Authentication ns_ldap AOLserver module nsldaphttp://home.galileo.edu/~obonilla/software/ nsldap acs-authentication package auth-ldap package authentication/ authentication/

Centralized Services Comments Notifications Search Clipboard (new) RSS Support Categories

General Comments Allows comments to be attached to any acs_object Optionally allows files to be uploaded with a comment Centralized user interface to approve or reject comments sitewide

Notifications Sends notifications Usually when an acs_object is created or modified Messages are specific for an object type Instant or batch One page to manage all notifications

Forums Notifications Example Can receive notifications on entire forum, or just replies to one posting

Search Search can be enabled for any object type Each object type submits specific data to the indexer

Clipboard Reference to clipboard enabled objects are saved on clipboard Saved objects can be acted on, marked at related to other objects

RSS Support Any object type can be enabled to output RSS information Weblog, News, File-storage

Categories Sitewide or package specific Objects can be assigned one or many categories