ForeCiteNote by Emma Nguyen, 11 th June 2010. Outline Overview Server side Client side  JavaScript classes.

Slides:



Advertisements
Similar presentations
JavaScript is a client-side scripting language. Programs run in the web browser on the client's computer. (PHP, in contrast, is a server-side scripting.
Advertisements

Cookies, Sessions. Server Side Includes You can insert the content of one file into another file before the server executes it, with the require() function.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Lecture 6/2/12. Forms and PHP The PHP $_GET and $_POST variables are used to retrieve information from forms, like user input When dealing with HTML forms.
11 Getting Started with ASP.NET Beginning ASP.NET 4.0 in C# 2010 Chapters 5 and 6.
The Web Warrior Guide to Web Design Technologies
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Macromedia Dreamweaver 4 Advanced Level Course. Add Rollovers Rollovers or mouseovers are possibly the most popular effects used in designing Web pages.
Chapter 2 Introduction to HTML5 Internet & World Wide Web How to Program, 5/e Copyright © Pearson, Inc All Rights Reserved.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
 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.
UNIT-V The MVC architecture and Struts Framework.
Presented by…. Group 2 1. Programming language 2Introduction.
DHTML - Introduction Introduction to DHTML, the DOM, JS review.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
NextGen Technology upgrade – Synerizip - Sandeep Kamble.
PHP Tutorials 02 Olarik Surinta Management Information System Faculty of Informatics.
User Interface Design using jQuery Mobile CIS 136 Building Mobile Apps 1.
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
Page: 1 Creating AJAX-Powered Forms with the Dojo Toolkit Presented By: James Harmon Object Training Group, Inc.
Building a UI with Zen Pat McGibbon –Sales Engineer.
© Cheltenham Computer Training 2001 Macromedia Dreamweaver 4 - Slide No 1 Macromedia Dreamweaver 4 Advanced Level Course.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
JQuery 10/21. Today jQuery Some cool tools around the web JavaScript Libraries Drawing libraries HTML Frameworks Conventions.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Building Search Portals With SP2013 Search. 2 SharePoint 2013 Search  Introduction  Changes in the Architecture  Result Sources  Query Rules/Result.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
CISC474 - JavaScript 03/02/2011. Some Background… Great JavaScript Guides: –
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 3: Customizing Document Elements.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
JavaScript, Fourth Edition
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Murach’s ASP.NET 4.0/VB, C1© 2006, Mike Murach & Associates, Inc.Slide 1.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
DHTML - Introduction Chapter Introduction to DHTML, the DOM, JS review.
0 Y! Mail Application Development Platform Open Hack day 14 th Feb 2009.
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
® IBM Software Group © 2006 IBM Corporation Using JSF Mini-Calendar Controls This section describes how to use a JSF Mini-Calendar Control with EGL It.
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … PRESENTED BY ROBERT FREEMAN (
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Microsoft FrontPage 2003 Illustrated Complete Integrating a Database with a Web Site.
Strictly Business Using “StrictlyFused” to Create an Extensible Knowledge Portal.
JavaScript Introduction. Slide 2 Lecture Overview JavaScript background The purpose of JavaScript A first JavaScript example Introduction to getElementById.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
JavaScript and Ajax (JavaScript Environment) Week 6 Web site:
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
Making the Most of Search in SharePoint 2013 Christina Wheeler.
Objective % Select and utilize tools to design and develop websites.
Introduction to Dynamic Web Programming
Tutorial 10 Programming with JavaScript
Objective % Select and utilize tools to design and develop websites.
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
Web Browser server client 3-Tier Architecture Apache web server PHP
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Introduction to DHTML, the DOM, JS review
Client-Server Model: Requesting a Web Page
Web Application Development Using PHP
Presentation transcript:

ForeCiteNote by Emma Nguyen, 11 th June 2010

Outline Overview Server side Client side  JavaScript classes

ForeCiteNote - Overview A modification of TiddlyWiki A single PHP/HTML/JavaScript/CSS file A collection of small blocks of content called “tiddlers” Tiddlers are invisible (by default) DIVs, loaded on startup (from database/file) to an internal “TiddlyWiki” data structure.

ForeCiteNote - Overview Consists of main area (LHS) and a sidebar (RHS) Main area is a “Story” – a sequence of visible tiddlers Configurations are made through special tiddlers : PageTemplate, StyleSheet, etc.

ForeCiteNote – Server side Server side solution in PHP, provides ubiquitous access to a hosted ForeCiteNote Maintains data integrity between users’ data and ForeCite centralized database: create, modify or delete tiddlers Provides metadata auto complete Supports other miscellaneous functionalities : login/logout, register, send mail to users, etc.

ForeCiteNote – Client Side HTML:stores tiddlers as DIVs [Note content] CSS:defines style JS:implements FCNote functionalities

ForeCiteNote – JS classes -Constructor function pattern function Tiddler(title) { this.title = title; this.text = "";... return this; } var myTiddler = new Tiddler(“New Tiddler”); (*) -(*) will 1) create a blank Tiddler object, 2) execute the commands listed in Tiddler function

ForeCiteNote – JS classes Each Tiddler object has methods associated with it, so we can call myTiddler.isTagged(“test”). Tiddler.prototype.isTagged = function(tag) { return this.tags.indexOf(tag) != -1; } function TiddlyWiki() { var tiddlers = {}; // Hashmap by name of tiddlers... this.fetchTiddler = function(title) { var t = tiddlers[title]; return t instanceof Tiddler ? t : null; }; }

ForeCiteNote – JS classes Initialization  Main: main() function which runs an initialization sequence on page load AJAX request  DSR: handles AJAX requests Animation  Animator: runs the dynamic flow of stepping through an animation, delegating to specific animation type.  Morpher: supports smooth transformation between 2 CSS styles  Scroller: scroll a window to show an element  Slider: slides elements upon opening/closing Data structures  Tiddler: represents a tiddler (block of text with a title)  TiddlyWiki: represents a collection of tiddlers Data import/export  Loader/Saver: converts between HTML and a list of tiddlers  Saving: saves FCN, serialized tiddlers to DOM elements and saving to local file system

ForeCiteNote – JS classes Control & Options  Config: General config, control capacities, names of shadow tiddlers, which options can be set…  Commands: toolbar commands (close, edit, delete, close others,…)  Macros: define built-in macros  Options: cookie based preferences. UI elements  ListView: table-like list  Messages: status notification  NewTiddler: macro for new tiddler, when users hit “new research note”  NewNote: macro for new tiddler, when users hit “new normal note”  Search: search implementation  Toolbar: toolbar shown in the top of tiddler  Wizard: multi-step wizard framework

ForeCiteNote – Tiddler Represents micro-content blocks that make up FCNote  Title  Text  Timestamp  Tags/tasks  Fields : hash of arbitrary properties..

ForeCiteNote – Shadow Tiddler Used for configuration like stylesheets, site URL, etc Stored in separated place & treated in a special way Shadow tiddlers aren’t actually of class Tiddler.  Shadow tiddlers : maps from title to text  Regular tiddlers: maps from title to Tiddler Immutable, but can be overridden with regular tiddlers of the same name : fallback mechanism

ForeCiteNote - TiddlyWiki Hash of tiddlers, keyed on their titles function TiddlyWiki() { var tiddlers = {}; // Hashmap by name of tiddlers... this.clear = function() { tiddlers = {}; }; this.fetchTiddler = function(title) { return tiddlers[title]; }; this.deleteTiddler = function(title) { delete tiddlers[title]; }; this.addTiddler = function(tiddler) { tiddlers[tiddler.title] = tiddler; }; } Main function: manage tiddlers hash, such as add, fetch, remove …a tiddler in tiddlers hash

ForeCiteNote - Story Container of all visible tiddlers in FCNote, whose main properties is containerId and idPrefix In Story, a “tiddler” is a DOM element Each tiddler’s ID is idPrefix + title Story contains logic to display and render tiddlers Tiddlers are rendered using template (contained in shadow tiddlers)  PageTemplate: overall structure  NoteViewTemplate: show normal notes in view mode  NoteEditTempalte: show normal notes in edit mode  ViewTemplate: show research notes in view mode  EditTemplate: show research notes in edit mode

ForeCiteNote - Main Create new TiddlyWiki data store, populated from invisible “storeArea” div (using TiddlyWiki.prototype.loadFromDiv()) Create a second data store to hold shadow tiddlers, populated from invisible “shadowArea” div Create a new Story div Call several lifecycle event handlers as it loads (get notification every minute) Set up event propagation - certain tiddlers are notified when certain actions occur E.g.: {name: "SiteTitle", notify: refreshPageTitle}, Show the display (display header according to online/offline or sandbox mode)