350 likes | 491 Views
NCICB Web/Portal Development. Clint Malone Ryan Landy December 7, 2001 Science Applications International Corporation (SAIC). Zope www.zope.org. Open Source web application server Web based management/administration
E N D
NCICB Web/Portal Development Clint Malone Ryan Landy December 7, 2001 Science Applications International Corporation (SAIC)
Zope www.zope.org • Open Source web application server • Web based management/administration • NCICB has its own “Standard Structure” in place that works as a template which allows all of the NCICB websites to have a similar look-and-feel as well as a standardized backend structure for inserting new content.
<dtml> • DTML (Document Template Markup Language) is Zope's tag-based presentation and scripting language. • Server side scripting language, like SSI, PHP, ASP, and JSP. • DTML is good for creating dynamic web interfaces. It supports reusing content and layout, formatting heterogeneous data, and separating presentation from logic and data. <dtml-if "AUTHENTICATED_USER.getUserName() <> publicUserName and AUTHENTICATED_USER.getUserName() <> 'Anonymous User'"> <dtml-let uname="AUTHENTICATED_USER.getUserName()"> | <a href="ftp://<dtml-var uname>@<dtml-var privateDownload>/summary_gastro_52401" onClick="return &dtml-show_discl;" target="_blank">Summary</a><br> </dtml-let> </dtml-if>
NCICB Zope Site Security • Designed to allow for “information hiding” to enable a private and public area within the website without duplication of information. • Uses a branching tree structure to allow for all private/guest information to be on one side of the tree and anonymous information to be on the other.
Security Structure Benefits • Allows use of a single list of authenticated users to be defined only once throughout site. • Gives the appearance of getting access to some restricted information without requiring the user to submit any personal information. At the same time limiting access to “members only” information. • When managing information, only one version needs updated.(No duplicated information)
Future Zope Development • Integration with LDAP to better manage access control lists. • Research the use of core session tracking for better user session management. (To be included as a new feature of Zope v2.5… Zope v2.5 beta is currently available)
What is a Portal? Content Management Framework System Builds connections with outside resources Brings many tools to one convenient Location Supports Dynamic Customization and Personalization myYahoo
What makes up a portal? The tools or resources within a portal are referred to as gadgets or portlets myNetscape
Why a Portal? Brings together tools and information Allows for simple navigation, enhanced through customization Secure login process Stores your changes so you can view YOUR portal from anywhere my MSN
What types of customization? Portlet selection: Choose to display only portlets that you wish to use Portlet Placement: Put the portlets you use more frequently in a convenient location Skinning: Modify the color of your page MyAOL
What is Jetspeed? Jetspeed is an open-source Portal project Jetspeed is written in Java and is available for free Licensed by Apache Current release version 1.3a1 Still in early stages of development Jetspeed is presented as an Enterprise level portal Development tool.
What can Jetspeed do? Build connections between outside sources such as Web Services, databases, and Content Feeds. Utilize built in services for user interface customization, caching, portlet creation, and user authentication. Support Wireless WML technology Allow for powerful development with little back-end tweaking
How scalable is Jetspeed? • Jetspeed comes bundled with a • Hypersonic SQL database • Other supported Databases include: • Oracle • DB2 • Sybase • MySQL • Postgres • Support for wireless and web services
How do I use Jetspeed? Install a Java Servlet Engine, Tomcat is recommended. Download Jetspeed from the Jakarta-apache website Build the war file and place it In the webapps directory of Tomcat Start tomcat
What do I get out of the box? • Upon installation you will get: • A basic layout • Default accounts • Example portlets • Login Functionality • Several Skins (color layouts)
MyNCICB Portal myNCICB
Jetspeed Navigation Tabular (Paned) Navigation With Jetspeed the user can create their own panes to display content An example Pane: MMHCC
Developer’s Page: Portlet Types Portlets can consist of RSS/RDF/XML files to advertise headlines or services Portlets can also consist of HTML or JSP snippets. Jetspeed can also capture an entire HTML website within a portlet. Portlets can also be written entirely in Java which allows for More powerful, dynamic functionality to be reproduced.
Creating Simple Static Portlets Easily transform tools from other webapps into portlets with the same functionality This search form from the DC Database has been Turned into a portlet for use on the myNCICB Portal.
Register the Portlet Once you’ve added the actual HTML that will display the elements of the portlet, then you must register it. The file portlets.xreg contains a list of all the available portlets and relevant information. This entry tells that the portlet is HTML and it also gives the location of the HTML page that contains the code to display the portlet.
Jetspeed Customization Page Close and position Portlets by clicking these buttons Change the number of columns and the width of each column or add Portlets by clicking the Add link
Jetspeed future development Await the release of v1.3a2 for stability Incorporate Portlets written in Java that interface with relevant web services Investigate the use of WML to make the portal function with wireless technologies Enhance the Management GUI to simplify maintenance Possible incorporation of iCalendar