Xerte Online Toolkits. Xerte Online Toolkits – internals and externals Pat Lockley IS Learning Team 17/4/2009.

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

Recruitment Booster.
Introduction to PHP MIS 3501, Fall 2014 Jeremy Shafer
OpenCMS and the MSASS Website. A Note on Terminology Locking a file for editing: No lockNOT locked You have write/edit access Someone else has write.
NMD202 Web Scripting Week5. What we will cover today PHPmyAdmin Debugging – using print_r Modifying Data PHP (cont.) 4D Methodology File and IO operations.
1 Chapter 12 Working With Access 2000 on the Internet.
ADOBE DREAMWEAVER CS4 Creative Suite Dr. Joseph Otto Professor, Information Systems, California State University, Los Angeles.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Review of last Session Adding custom html Adding custom html HTML is the language that web servers understand, all web pages are created using HTML. HTML.
Website Tutorial. Administration  Log on by clicking Login on the footer of almost any page  Your Username is.
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
Create a Website Session I Key Components Hands-on HTML.
CSC 318 WEB APPLICATION DEVELOPMENT.  Introduction to Server Scripting language  Client VS Server  Introduction to PHP  PHP Files and Syntax  Function.
Scottish Legal Aid Board Content Management using OpenCms Martin Spinks CTO Navyblue Tuesday, March 16, 2010.
Lecture 3 – Data Storage with XML+AJAX and MySQL+socket.io
What is Web Authoring? Web Authoring Tools Use Text Editors HTML Editors Web-based Authoring Tools Integrated Web Authoring Tools 8Basic Understanding.
WordPress Web. WordPress Blogging system with full content management Personal publishing system Built on PHP scripting language and MySQL relational.
Web Design Dreamweaver Semester 2 ATBs. ATB #1 What is a web site?
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Copyright 2007, Information Builders. Slide 1 Maintain & JavaScript: Two Great Tools that Work Great Together Mark Derwin and Mark Rawls Information Builders.
Introduction to AJAX AJAX Keywords: JavaScript and XML
Databases with PHP A quick introduction. Y’all know SQL and Databases  You put data in  You get data out  You can do processing on it very easily 
AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Drupal Training Syllabus Chaitanya Lakshmi
Classroom User Training June 29, 2005 Presented by:
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Web Based Inventory Site Building Room Asset Number Category Type Description Serial Number Manufacturer Model Vendor Name Acquired Date P O Number Budget.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
Product Feeds. What is a Product? In marketing terms, a product is an item, service or idea that is for sale Examples are: A flight with set dates and.
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
SYST Web Technologies SYST Web Technologies Databases & MySQL.
PowerTeacher with Web Grade Book Semester Classes School Year August 2012.
FILES AND ASSETS PANELS
Singapore Schools Sports Council User Guide. Table of Contents How To Login How To Logout How To Add Games Content (Same for ASG) How To Edit Games Content.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
ASP. What is ASP? ASP stands for Active Server Pages ASP is a Microsoft Technology ASP is a program that runs inside IIS IIS stands for Internet Information.
NMD202 Web Scripting Week5. What we will cover today PHP & MySQL Displaying Dynamic Pages Exercises Modifying Data PHP Exercises Assignment 1.
Walkthrough example including SAS output How to create a mobile WebApp? PhUSE / 12. October 2015 / Katja Glaß BHC 4:3 Template 2010 June 2014Page 1.
Creating a simple database This shows you how to set up a database using PHPMyAdmin (installed with WAMP)
1 MSTE Visual SourceSafe For more information, see:
PHP Error Handling & Reporting. Error Handling Never allow a default error message or error number returned by the mysql_error() and mysql_errno() functions.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
ICM – API Server & Forms Gary Ratcliffe.
Forms Manager. What is Forms Manager? Forms Manager is a completely new online form creation and form data management tool.
Intro to APACHE, MySQL, and PHP & freely available (hackable) Packages Aonghus Sugrue 04 Oct 2012.
: Information Retrieval อาจารย์ ธีภากรณ์ นฤมาณนลิณี
HTML Introduction HTML Editors HTML Basic HTML Elements HTML Attributes HTML Headings HTML Paragraphs HTML Formatting HTML Links HTML Head HTML CSS HTML.
COMP 143 Web Development with Adobe Dreamweaver CC.
Tutorial 6 Creating Reusable Assets and Forms. Objectives Session 6.1 – Explore the head content of a page – Add keywords to a page – Add a meta description.
1 E-Site - FTP Services Setup / install guide. 2 About FTP services can run on any desired port(s) Runs as a windows service Works for all sites installed.
My Stuff & More! How to personalize your OSLIS 2.0 “dashboard” and add files to your personal space.
Intro to WordPress (Using XAMPP)
Dreamweaver – Setting up a Site and Page Layouts
Objective % Select and utilize tools to design and develop websites.
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
Data Virtualization Tutorial… CORS and CIS
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
PHP Training at GoLogica in Bangalore
Objective % Select and utilize tools to design and develop websites.
BASIC PHP and MYSQL Edward S. Flores.
Using Access and the Web
Database Driven Websites
Presentation transcript:

Xerte Online Toolkits

Xerte Online Toolkits – internals and externals Pat Lockley IS Learning Team 17/4/2009

Structure The Installer The database The file system Style Sheets Index.php The AJAX / Javascript Site standards Questions

The installer All of this lives in the setup folder People, unless XAMPPing on windows need to set the write permissions to start the install processhttp://url/toolkits/setup/ Various calls to ini_get No variables are changed, and at no point is the install stopped No direct support as of yet for integration in the installer

The setup folder The folder contains all the files need to run the installer itself Database.txt becomes database.php (and is moved to the root folder) Unless you XAMPP, in which case xampp_database.txt is used Basic.sql and xampp.txt contain the MySQL queries used in the install All creates apart from three insert queries

Setting up the database Setup asks for an account which can modify the database (create and insert rights required) Then for user account for the database (select, delete, update, insert rights required) The queries are hardcoded, except for the dollar to allow for modifying the database prefix (shared hosts). During setup only page4.php inserts user input, all other database inserts are fixed

Database tables The database is MySQL, and is only limited by the fact that’s the PHP I have used No stored procedures Nothing to fancy in terms of database structure No explicit naming convention

1 – Additional_sharing Handles peer review and XML sharing (not limited to this) Stores a sharing type variable – at present either Peer or XML Extra variable is either the peer password, or the xml host to limit too

2- Folder_details All folders including the recycle bin All folders have IDs Login_id (the owner) A parent (set to 0 if the bin or the root folder) A name (spaces replaced by underscores) And a date created

3- originaltemplatesdetails Handles the blank templates ID Framework (still xerte) Template_name (equivalent to the folder) Description Date uploaded Display name Display_id (Id of the example, set to 0 if none) Access rights (* is unlimited, can mask) Active (Can hide if want to)

4 - play_security_details Handles additional security options on the access panel Security setting is the name Security info the extra text for the properties panel Security Data is either a series of ip ranges (can mask any class) or a HTTP – it cannot do both.

5 - sitedetails Handles pretty much the entire configuration of the site Variables are relatively self explanatory

6 – syndicationlicenses and syndicationcategories Handles the creative commons licenses and the areas for the syndication panel

8 – templatedetails Holds details for each template Creator_id Template_type_id Template_name Date_modified Date_Accessed Number_of_uses Access_to_whom

9 – templaterights Holds sharing information for templates User_id Role Folder Notes

10 – templatesyndication Handles the syndication of a template to RSS, Export or DCMD Description Keywords Rss Export Syndication Category License

The File System Keep the root clean Separate modules Separate webcode from xerte code Key folders at root level Website_code – contains all the code for running the site (unless in root) User-files – where templates are stored Modules – where xerte code lives (mostly) Import – where files are imported too Feedback – handles the feedback page Error_logs – where error_logs live

Example -The play page Starts out in the root folder Use several php libraries from website_code/php Finds out what template framework we are using Includes a file from that framework Then executes a function from within that framework

The xerte module Note in modules there is a folder called Xerte, all the xerte code lives here The php is the framework code for the various functions Not all functions are modularised yet

Xerte module folders Scorm contains files for inclusion with scorm and export Templates is the xml and media folder Parent_templates contains the RLT and the XWD Same folder names inside these folders for 1 project Engine contains the wizard (and the drawing tool) and the php the wizard needs to upload, save the file and check a file exists before previewing.

Website code folder Styles – all the css Scripts – all the javascript apart from rloObject.js and swfobject.js Php – all the php libraries and ajax queries live in here Images – all the site pictures Files within this area are HTML stubs containing parts of the pages.

The PHP folder Code in this folder are library functions (try not to have functions inside other pieces of PHP) Workspaceproperties – code from that panel Versioncontrol – lock file handler and the publish updater Templates – queries to perform actions (delete, create etc.) for templates Publish – code to publish a template (e.g write preview.xml over data.xml) Properties – code for that panel Peer – code for peer review Management Import Folders Folderproperties Error_log (empty)

The Scripts folder Ajax management – ajax object creation File system – the file actions (drag drop) Folder_properties Folders – queries on folders Import – all the import code Logout – basic logging out code Management – all the code for management ajax queries Opencloseedit Peer – peer review Properties_tab Screen_display – selection and setting up the screen Template_management – edit / play / preview Validation – user entry checking workspaceproperties

Style sheets Style sheet per page Style sheet per panel Style sheet for the folder pop up Some sharing between different sheets No separation of structure and colour Lots of fixed values Some code has embedded styles in certain parts

Index.php This is key page for the site It handles logging in and self posts to setup the i nterface From here on in everything is using javascript / php and MySQL Most of the queries use AJAX (so page never changes) Iframe for the import code

Index.php This is key page for the site It handles logging in and self posts to setup the i nterface From here on in everything is using javascript / php and MySQL Most of the queries use AJAX (so page never changes) Iframe for the import code

AJAX function setup_ajax(){ try{ xmlHttp=new XMLHttpRequest(); }catch (e){ // Internet Explorer try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ alert("Your browser does not support AJAX!"); return false; }

AJAX (2) function properties_ajax_send_prepare(url){ xmlHttp.open("post",properties_ajax_php_path + url,true); xmlHttp.onreadystatechange=properties_stateChanged; xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } function properties_stateChanged(){ if (xmlHttp.readyState==4){ if(xmlHttp.responseText!=""){ document.getElementById('dynamic_area').innerHTML = xmlHttp.responseText; }

Site standards Commenting is PHP doc, even in JS Try to comment each if branch if not obvious Try not to code for success Use error log calls when applicable Name the PHP file after the name of the Javascript function when ajaxing Assume modularity Work on the basis of putting all constants into variables Style sheet and Javascript per page