Current MS Students/Sepideh Nazari/CS 590
From CSWiki
Contents |
[edit] Week 1 (6/23/07)
Professor Sun introduced CS590 and related wiki page.
[edit] Week 2 (6/30/07)
The project that I chose is about a website which intended to extend the web presence of CSULA by providing an online home for news – in conjunction with the university times- and other cultural offerings, such as video from producers, original music from our composers, streaming events, photo exhibitions – samples of performances and the like. While the official CSULA website (www.calstatela.edu) provides a vast array of information of classes, academic programs, schedules, biographies and departmental news, there has never been a place to exhibit all the creative and scholarly work produced by campuses. In a scene, the university has provided a lot of information that is needed, but hasn’t been able to provide information that is fun, interesting, or engaging on its on merits. There is no criticism implied here; the university has to provide information on its website to help students, and there is no existing way to address the needs of our photographers, composers, scholars, video producers and the like. This web site sets out to be both a useful and value able resource, and also engaging and fun.
[edit] Week 3 (7/06/07)
When I was viewing the platforms, I saw many things interesting like AJAX and mysql and java frame works. But I didn't decide about them, because I need to talk to my advisor first. But I thought, I going to need a UML tool so I went through them and I find ArgoUML.
ArgoUML runs on any Java platform. And support for all standard UML 1.4 diagrams.
I installed it on my laptop and made a new UML file. And I also register in order to download and view some projects.
[edit] Week 4 (7/14/07)
Today I am going to talk about a very neat tool of google. Its google search, which you can add it to your web site.
First you need to go this web site of google http://google.com/coop/cse/ Then you will see a box which says:
Get started in two easy steps
1. Specify your search engine settings.
2. Try it out and put it on your site.
Then you need to click Create a Search Engine
Which lied you to other page that ask you about
Search engine name
Search engine description
Specify some keywords that describe the content or subject of your search engine. These Keywords are used to tune your search engine results
There is radio button choice which ask you What do you want to search? Only sites I select. The entire web, but emphasize sites I select. The entire web.
And then you need to enter you website URL which it can be just part of it or Entire your website or even as many websites that you like to be in your search engine
In the next step it asks if this search engine belongs to non-profits, universities, or government agencies so it can be advertise free.
Then accept the conditions and press Next
You go to a Page and test the Search engine and select its user interface
Press create button.
Goole will send you an email which include a link that liad you to a page that you can see the nessery code, in order to put the search engine that you just created for your website.
<-- Google CSE Search Box Begins -->
<form id="searchbox_001106296045857789247:w3gut_lffkw"
action="http://www.google.com/cse">
<input type="hidden" name="cx" value="001106296045857789247:w3gut_lffkw" />
<input type="hidden" name="cof" value="FORID:0" />
<input name="q" type="text" size="40" />
<input type="submit" name="sa" value="Search" />
<img src="http://www.google.com/coop/images/google_custom_search_smnar.gif"
alt="Google Custom Search" />
</form>
<-- Google CSE Search Box Ends -->
This email also content of some other links in order to change you search engine.
[edit] Week 5 (7/21/07)
During this week I had two meeting with professor Beaupre. We talked over the projects that they need for the Cool State and find News part challenging and interesting.
He said that they need a program which allows the reporter upload the reports. The news can include text, image, voice or video. After that editors review and edit it and pass it to second editor may the second editor send it back to first one or do some changes and send it to upload automatically or they may need the higher level of editors and this cycle may happen as many times as that head editor decide that the news is ready to upload.
There are more details that we are going to dessicuss about them in the next meetings.
I went thourgh jMaki which is an Ajax framework.
I also reviwed two media open sorces Jahshaka and Picasa
[edit] Week 6 (7/28/07)
This I had another meeting with professor Beaupre. He explained almost every detail about this project and what they need.
The following numbered points would expected provide at Newsroom system
1. The system will allow for the ingest of virtually any kind of media asset, including but not limited to text, audio, video, photo, graphics, sound-slide, and other A/V formats in popular use. This is to say in the case of audio.
2. Furthermore, when a package of news story is created on the system, it may include assets from many sources and in many formats. This Newsroom program would expected keep all assets associated with a given package connected to that package, whether those assets be text, audio, video, photo, online or other combinations of existing and emerging media.
3. Newsroom program would need to have the capacity to track and instantly locate any given package and its associated assets, so that a manager can verify the progress of a package through the system. Also, once the package has been completed and passed out of the system, The program would expected to maintain a database of management statistics on the package, including key dates associated with the package history, identities of those who contributed to the editing process, and other specific data, such as ‘total running time’ (TRT) where appropriate, intellectual ropert information, and ultimate archive storage.
4. A key feature of this Newsroom should be the use of a reporter/editor hierarchy arrangement. In normal use, there would be a pool of primary users we would refer to as “reporters” or in some case “producers”. There would also be a second pool of users referred to as “Editors”. In normal function, reporters would report to editors, or more specifically, reporters would submit their package assets upward on this hierarchy for an editor to review and either sends it back to the producer for further work or upward to a superior for approval and uploading to a production computer. While we initially envision a two tier system of “producers” and “editors”, this relationship may evolve substantially over time.
The same person may be acting as an editor for a novice reporter on one story and also be playing the role of “producer” to someone senior to him/her. In other words, the program calls for an infinite variation on the theme of producer – editor. In it’s simplest form, there would be only two tiers (producers and editors), although the system should be expandable to many levels of editor. Thus an editor at one level could be playing the role of producer in another context.
5. Finally, through a process of designation, only more senior users of the system would be granted authority to upload (or off load) finished projects. More junior members of the hierarchy would not be granted such permission; such authority would be reserved in a hierarchical fashion to more senior editors, with some of those editors granted very wide permissions regarding uploading or mounting package assets, and some of those editors with somewhat limited authority to upload or post such assets.
6. The system would require a full suite of security features. User/password combinations should not only account for various tiers of authority, the security system should also take into account the ability to authorize on an ad-hoc basis special authorities to users on the system. In other words, extraordinary authority may be granted for a single package or a single asset to a junior user on the system. Once that procedure is completed, the user’s authority would be rescinded.
7. The system has to be compatible with a range of platforms, operating systems, and browsers. While there is a clear bias for Macintosh technology due to its wide use in video and audio editing, as well as other AV production, the system should be web friendly across the internet.
8. The users of this system will often be students with only modest computer skills. This should be taken into account in designing this software. This is to say pull-down menus are always preferable to complex codes. Easy to understand menus, easily accessible help files and a simple system for sending queries through out the system would be very desirable.
[edit] Week 7 (8/04/07)
I did lots of Google searches to see what other news organizations and what open source software and other commercial software is available
This week I will explain about my project and how it is gonna work. I haven't decided about the frame work yet Media:Newsroom.ppt
[edit] Week 8 (8/11/07)
I worked on my prospectus again this week. Per my discussion of my topic in class, Dr. Abbot suggested use open source for contact Manager because starting form scratch would be a lot of work and if I can find something and start work based on that would be more intellect. So I did lot of researches based on content manager.
A Content Management System (CMS) is a software system used for content management. Content management systems are deployed primarily for interactive use by a potentially large number of contributors. For example, the software for the website Wikipedia is based on a content management system.
The content managed includes computer files, image media, audio files, electronic documents and web content. The idea behind a CMS is to make these files available inter-office, as well as over the web. A Content Management System would most often be used as archival as well. Many companies use a CMS to store files in a non-proprietary form. Companies use a CMS to share files with ease, as most systems use server based software, even further broadening file availability. As shown below, many Content Management Systems include a feature for Web Content, and some have a feature for a "workflow process."
"Work flow" is the idea of moving an electronic document along for either approval, or for adding content. Some Content Management Systems will easily facilitate this process with email notification, and automated routing. This is ideally a collaborative creation of documents. A CMS facilitates the organization, control, and publication of a large body of documents and other content, such as images and multimedia resources. A web content management system is a content management system with additional features to ease the tasks required to publish web content to web sites.
Web content management systems are often used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures. A content management system may support the following features:
- Import and creation of documents and multimedia material
- Identification of all key users and their content management roles
- The ability to assign roles and responsibilities to different content categories or types.
- Definition of the content workflow tasks, often coupled with event messaging so that content managers are alerted to changes in content.
- The ability to track and manage multiple versions of a single instance of content.
- The ability to publish the content to a repository to support access to the content. Increasingly, the repository is an inherent part of the system, and incorporates enterprise search and retrieval.
Some content management systems allow the textual aspect of content to be separated to some extent from formatting. For example the CMS may automatically set default color, fonts, or layout.
I tried hard to find a suitable content manager so I picked some popular one written in Java and PHP and tired to comparison them
- OpenCms is an open source content management system based on Java and XML technology. It is distributed by Alkacon Software under LGPL license. It is a CMS applications with features such as Browser-enabled work environment, Asset Management, Integrated user management and permission system, Project based publishing, Workflow and Task Management, WYSIWYG editor, Internationalization support, Versioning of content, JSP and XML Template mechanism, Multi-Language, Online-Help System, Dynamic and static content publishing, Personalization, Caching system, Module mechanism for extensions, Scheduling system, Synchronization mechanism, Import / export of content, Application server integration / EJB.
- Cofax is a web based Content Management System based on Java, Mysql, Tomcat used to edit and manage the Online Editions of 16+ Newspapers. It was developed as Open Source software.
- Magnolia is open-source JSR-170 compatible Content-Management-System (CMS). Its main goal is ease of use for all parties involved in running a CMS. It features a very flexible structure, platform-independence through the use of Java and XML, a simple to use API, easy templating through the use of JSP, JSTL and a custom tag library, automatic administrative UI generation, transparent and uniform data access to multiple data repositories through JSR-170.
- Drupal is a content management/discussion engine suitable to setup or build a content driven or community driven website.Due to its modular design Drupal is flexible and easy to adapt or extend. Drupal is written using PHP. The source code is available under terms of the GNU General Public License (GPL).
- Joomla! is a open source content management system written with PHP for publishing content on the world wide web and intranets, using the MySQL database. Joomla! includes features such as page caching to improve performance, RSS feeds, printable versions of pages, news flashes, blogs, polls, website searching, and language internationalization. Joomla! is licensed under the GPL, and is the result of a fork of Mambo.
- XOOPS is a content management system, written in PHP, for websites. It uses a modular architecture allowing users to customize, update and theme their websites. XOOPS is released under the terms of the GNU General Public License (GPL) and is free to use, modify and redistribute. XOOPS is supposed to be pronounced phonetically as it would be in English, as "zoo'ps". The XOOPS project was awarded First Runner-Up status in the SourceForge.net's 2006 Community Choice Awards in the Development category. XOOPS is an acronym of eXtensible Object Oriented Portal System. Though started as a portal system, XOOPS is developing as a content management system. It aims to serve as a web framework for use by small, medium and large sites, through the installation of modules. For example, a small XOOPS installation can be used as a personal weblog or journal, but this can be expanded upon and customised, for example users might add the appropriate modules (freeware and commercial) to store content in news, forums, downloads.
- Bitweaver is an open source content management system. Its speed and power are ideal for large-scale community websites and corporate applications, but it is simple enough for non-technical small site users to set up and administrate. It comes fully featured on install but is easy to extend. Out of the box Bitweaver comes with a full set of features you want in a CMS, such as: Articles, Wiki Pages, Blogs, Categories, Image Galleries, Calendar, User Management, Choice of Database, Languages, Theming, Comments.
The following comparison performed with cmsmatrix
[edit] Week 9 (8/18/07)
I went through the reviews for both Joomla and openCms lots of client use them most of the view for Joomla was positive while they spot some week points as following:
(1) The component will report TRASHED content items in it's list of items even though the items are not displayed, which gives an incorrect item count.
(2) The component does not handle browser refreshes after toggling the publish/unpublished status of an item.
(3) A needed global variable is not included in a list of global variables.
(4) It didn't include the Archive.
(5) It arbitrarily allows users access to create new items in all sections.
Also most of reviews for openCms were encouraging too.
I tried to install it. It installation was very attractive since it create all the data base requirement itself, but at the end of installation I tramped because it needed to disable pop blocker of the browser, but it was enable on my system.
I intend to install both Joomla and openCms and try to work with them to find out which one is more suitable for our job.
[edit] Week 10 (8/25/07)
A workflow is a reliably repeatable pattern of activity enabled by a systematic organization of resources, defined roles and mass, energy and information flows, into a work process that can be documented and learned. Workflows are always designed to achieve processing intents of some sort, such as physical transformation, service provision, or information processing. Workflows are closely related to other concepts used to describe organizational structure, such as silos, functions, teams, projects, policies and hierarchies. Workflows may be viewed as one primitive building block of organizations.
The concept of workflow is closely related to several other terms in operations research and other fields that study the nature of work, either quantitatively or qualitatively, such as artificial intelligence (in particular the sub-discipline of AI Planning) and ethnography. The term workflow is more commonly used in particular industries, such as printing, and professional domains, where it may have particular specialized meanings.
- Processes: A process is a more general notion than workflow, and can apply to physical or biological processes, for instance. In the context of concepts surrounding work, a process may be distinguished from a workflow by the fact that it has well-defined inputs, outputs and purposes, while the notion of workflow may apply more generally to any systematic pattern of activity (such as all processes occurring in a machine shop).
- Planning and Scheduling: A plan is a description of the logically necessary, partially-ordered set of activities required to accomplish a specific goal given certain starting conditions. A plan, when augmented with a schedule and resource allocation calculations, completely defines a particular instance of systematic processing in pursuit of a goal. A workflow may be viewed as an (often optimal or near-optimal) realization of the mechanisms required to repeatedly execute the same (or similar) plans.
Features and phenomenology
- Modeling: Workflow problems can be modeled and analyzed using graph-based formalisms.
- Measurement: Many of the concepts used to measure scheduling systems in operations research are useful for measuring general workflows. These include throughput, processing time, and other regular metrics.
- Specialized connotations: The term workflow has specialized connotations in information technology, document management and imaging. Since 1993, one trade consortium specifically focused on workflow management and the interoperability of workflow management systems has been the Workflow Management Coalition.
- Scientific workflows: found wide acceptance in the fields of bioinformatics and cheminformatics in the early 2000s, where they successfully met the need for multiple interconnected tools, handling of multiple data formats and large data quantities. Also, the paradigm of scientific workflows was close to the well-established tradition of Perl scripting in life-science research organizations, so this adoption represented a natural step forward towards a more structured infrastructure setup.
Joomla! doesn’t support workflow, while Bitweaver support it; And it costs Extra for OpenCms
Here's a review of Open Source Workflow Engines that are written in Java with the Apache Style License:
| Product | Description |
|---|---|
| Apache OFBiz Workflow Engine | (WAS OFBiz Workflow Engine) The Open for Business Workflow Engine is based on the WfMC and OMG spec. OFBiz Workflow Engine uses XPDL as its process definition language. Apache is currently "Incubating" this project to become a full fledged Apache Project. |
| Apache Agila | Agila is centered around Business Process Management, Workflow and Web Service Orchestration. It's composed of two specialized modules: Agila BPM and Agila BPEL. Agila BPM is basically handling tasks and users who have to complete these tasks. It's a very flexible and lightweight workflow component. Agila BPEL is a BPEL-compliant Web Services Orchestration solution |
| Codehaus Werkflow | Werkflow is a flexible, extensible process- and state-based workflow engine. It aims to satisfy a myriad of possible workflow scenarios, from enterprise-scale business processes to small-scale user-interaction processes. Using a pluggable and layered architecture, workflows with varying semantics can easily be accomodated. (Under redevelopment) |
| Open Business Engine | OBE is a flexible, modular, standards-compliant Open Source Java workflow engine. It is fully J2EE compliant, and supports several J2EE application servers, operating systems and databases. It implements several Workflow Management Coalition Open Standards (WfMC), to which it offers a variety of extensions and enhancements. OBE is equally suited to embedded or standalone deployment. |
| OpenSymphony OSWorkflow | What makes OSWorkflow different is that it is extremely flexible. |
| Zebra | Zebra is a workflow engine - originally developed to fill in the gaps in some commercial and open source workflow engines. The key differences between it and other workflow systems are able to model all the workflows described in workflow patterns, a GUI designer and Hibernate persistence layer. |
| XFlow2 | Inspired by simple workflow definition language in XFlow developed to improve its implementation. Externalized SQL in iBatis mapping files. Works as embedded workflow engine. |
| Antflow | AntFlow is a tool for the automation and scheduiling of data system tasks, including those with complex dependencies and workflow logic. Antflow represents a new approach to simplifying system automation that leverages pipelines of hot folders chained together to perform a given task. Using XML, Antflow associates an automated task, such as data tran |





