NOTICE: You are viewing a page of the openwetware wiki. Our "dewikify" feature makes a wiki page appear as a normal web page. In April 2017, this feature will GO AWAY and this URL will redirect to the source URL on our wiki. We're sorry for the inconvenience.

Contents

Overview

Introduction

The most recent version of the OWW Lab Notebook will be deployed this week. The Lab Notebook is currently under active development. This version is based upon a model created by Austin Che. A number of people have been providing input to this effort. Prototype versions are already in use.

Design Model

The Lab Notebook design assumes that an individual researcher or student needs to track one or more discrete projects over a period of days, weeks, or months.

Representing Projects

Entering notes and findings for projects has been performed using two different models.

Entry by Project

In the first model, each project is represented as a single document. New entries for the project are made within the document. As each new project entry is added, a date label is included. An existing OWW extension, the Dynamic Page List (DPL), is used to create chronological reports across all of the projects.

Entry by Date

In a second model, the project and entry pages are reversed. In this model, entries are made in discreet entries for each calendar day. Within the daily entry pages, content for each project is entered in sections. Each section is labeled with the project name that findings or notes are to be entered. The DPL is used to create summary pages for each project. The project entries are linked to the summary page; clicking on the entries brings the user to the daily entries.

Initial Data Entry Model

Our initial focus is to complete work on the second model, where data is entered by date and displayed by project.

Project Pages

Each project will be viewable as a separate Mediawiki page. The Project Page display is based upon a templated call to the DPL. The DPL uses a Mediawiki technique referred to as 'transcluding' to display portions of each Date Entry. Only the sections of a Date Page associated with each individual project will be displayed within each Project Page.

The Project Page is an editable page. However, it contains a reference to a template wich calls the DPL. This call gathers pages containing the "ShadowEntry" category. These pages must be within the designated namespace (currently User) and must contain at least one reference to the Project being displayed.

Calendar View

A calendar view will be located on the Lab Notebook front page. A user can access date entries independent of the Lab Notebook projects by clicking on the entry for a specific date. Individual entries are made for multiple projects within separate daily entry pages. The main page of the Lab Notebook is the jumping off-point for all activity. All daily pages are always accessible. Since this uses MediaWiki, all edits and revisions of the pages are always online.

Date Entry Pages

Individual date entry pages are created only when a specific date is selected. On the first day of the lab notebook's use, there will be no date entries.

Date Entry Format

The format of the individual date entries will be up to the Lab Notebook user. Each new page will use an optional "model" file to seed the format of the page. This is not a MediaWiki template. Instead, it is a named Mediawiki page containing a pre-populated format. This page can contain Mediawiki templates. It can contain MediaWiki text with as little as a single MediaWiki template.

Using the OWW Lab Notebook

This is a "use-case"-like model of how users will interact with their Lab Notebooks. Each currently implemented component will be differentiated from festures not yet implemented.

Lab Notebook in "My Preferences"

Enabling a User's Lab Notebook

A new option has been added to the "Misc" tab in the User Preferences page. The new control is a checkbox. Clicking it will enable the lab Notebook.

By checking the "Enable Lab Notebook" box, a new entry for "My Lab Notebook" on the "Personal Navigator" at the top right of each OWW page.

In addition to enabling the navigator link, an internal flag will be set allowing all OWW Lab Notebook features to be enabled.

If the "Enable Lab Notebook" is unchecked after the Labe Notebook hs been enabled, all exsting OWW Lab Notebook pages will still be accessible. No data will be destroyed as a result of disabling the OWW Lab Notebook.

My Lab Notebook

My Lab Notebook: Link to permit OWW user to open the Lab Notebook (not yet implemented)==

The user will see the 'My Lab Notebook" link at the left-hand top of OWW page. When an OWW user chooses to enable the Lab Notebook, the link will be displayed as the last entry on the "personal navigator", just after the "log out" link.

Per a suggestion from one reviewer, this will not initially be enabled.

Navigating to Lab Notebook Main page

Click on "My Lab Notebook" to go to the "Lab Notebook Main Page" (not yet implemented)== The "Lab Notebook Main Page" will be a designated page within the OWW user's personal namespace. As is the case with both the user's "My Talk" and "User Page", the "Lab Notebook Main Page" will be prefixed with the "User:[UserName]" tag. Each "Entry Page" and "Project Page" will be created within the same page-space. This allows all OWW User's Lab Notebooks to be managed in a consistent manner.

Creating New Projects

You can create multiple projects on the notebook's main page. To do this, thee is a textbox with a button to the right of it.

The user will enter a project name in the text box and click the button. The user's specified "Bsse Project" page will be used to fill in the contents of the new project. There is no editing of the new Project's content currently required.

Upon creating a new Project, the new Project will appear on the user's main OWW Lab Notebook page.

If a Project's page is deleted, the Entries labelled for that project will still be present. In other words, no entries are deleted as a result of ANY action including the deletion of a Project.

It may be convenient to provide another "non-project" which would contain a list of all entries in all pages that are not associated with a specific project. The DPL does allow for this as long as a list of all projects can be created.

Base Project

The Base Project is the content used to create a new Project with. This is not a template but it can contain templates. The model is that a user can modify the way all Projects are created.

The Base Project page is created for the user when a new OWW Lab Notebook is created. The original content is based upon the system default.

Lab Notebook Calendar

The calendar will allow you to see all of the dates for the month.

Currently, the calendar only displays the current month. The OWW Calendar extension does not allow for displaying last and next month or changing the year. These features are highly desirable. There is another MediaWiki Calendar that does allow for this kind of interaction. It will be evaluated for future use.

The format for all dates will be "YYYY/MM/DD". Both Month and Date entries are not zero-padded. Example:

Selecting a New Date Entry

Clicking on a date in the calendar will either create a new Entry for the specified date or or go the existing Entry for the specifed date. In either case, the user will be redirected to the specified entry.

Creating New Date Entries

A simple template is used to identify the content in the entry page for each project.

Updating Projects

Saving the page will update each project with the entries just created. Projects are not meant to contain the dated entries. Instead, the pages are gathered for display by the DPL.

Since the Project page is a standard MediaWiki page, it can be edited as any other page. However, the editing is restricted to the areas of the page where Date Entries are not being displayed.

The Date Entries on each OWW page are re-created each time the Project page is opened. The Project can be thought of as a list or view of entries with additional editable content.

Opening or closing the page will not capture the current Date Entries.

Project View

On the main Lab Notebook page, the projects will all display all activity by date for that notebook.

Lab Notebook Search

We will be adding a search button that will only search the contents of the lab notebook rather than all OWW pages.

To do this, the current MediaWiki SpecialSearch.php can be subclassed to create a new set of methods. The showMatchers() method contains the loop where results returned from the search engine are output. For each valid search result, the showHit() method is called.

A modified version of the showHit() method can be replaced in the derived class. This version of showHit() would check to see if the reference page of the result to be included in the result list matched a page within the user's lab notebook. If it did, the result will be printed. If not, the result is skipped.

To call this search, a modified version of the current search dialog can be added as a separate version of the current search box. The new box would call a new Special page that would include a call to use the derived class rather than the original Special Search class.

This would mean that the new SpecialLnSearch.php module would contain the entry point, the definition for the new class, and a single method, showHit(). The new showHit() method would check to see if the returned result was inside of the current user's Lab Notebook pages.

There will be no modification to the current core search files required to implement this change.

The MonoBook.php skin file will need to be modified to include the new Search box. This seach box will only be displayed if the user has enabled the Lab Notebook.

The amount of work required to make this change will not be large. The code to check for the page is a comparison of the root of the page title. The actual page file can be obtained from a class already created to support the Lab Notebook. The UI modification should be limited to adding the new search box below the current one with conditional code added to check for the user's "enablelabnotebook" option in the User.php object.

The result page will not indicate that the search is any different than a regular search.

Lab Notebook Backup

We will provide a single-button export to allow users to save a copy of the Lab Notebook notebook outside of OWW.

Backup will be clear to implement if we do continue to use a hierarchy for all Lab Notebook pages rooted in a single page such as the current design.

Templates used within the pages to be backed up can be collected along with the pages and stored in the XML export file if we choose to use the MediaWiki Export format for backups.

For image files, it's possible to create a zip file that would contain the root of the images directory where all images referenced from within the Lab Notebook are stored.

The specific format to be used is still not determined. However, the MediaWiki Export format represents the most simple format from within the system to implement.


WYSIWYG Support

The Lab Noebook will optionally allow full WYSIWYG editing using the FCKEDIT extension.

Private Wikis vs. OWW

Lab notebooks can be equally easily be stored in a sub-wiki or the main OWW wiki. To ensure the content is searchable and integrated with the OWW community, we will initially integrate all lab notebooks into the main wiki. The Lab Notebook will be rooted in the User:[UserName] page range that the User's personal pages already use.

Toolbox

The Toolbox is the left=hand column box of links located below the Search box. The contents of this list are programmable within Mediawiki. The Lab Notebook will contain an optional list of links related to navigation within the OWW Lab Notebook. This list will only be displayed when a user is vieing one of the OWW Lab Notebook pages.

We can also customize the Toolbox the user has access to when working with the Lab Notebok. If you have specific documents, such as assignments, to post for the class, the custom toolbox will be present when they are using pages tagged as part of the Lab Notebook.

"Canned" Toolbox for Labs

The Toolbox is the left-hand navigation box located directly below the Search box. Using an existing OWW mediaWiki extension. The links listed in the Toolbox can be configured in a number of ways. OWW can globally set the content of this list as a default. Alternatively, a user can modify the Toolbox. Another option may be to pre-set the content of the Toolbox to meet the requirements of a set of users in the same Lab or for a Laboratory class.

OWW Lab Notebook Page Layout

Lab Notebook Main Page

The Main Page will be created witin the user's "page space".

Notebook:[Username]

Lab Notebook Project Pages

Project pages will all be created beneath the Lab Notebook Main Page

Notebook:[Username]/Projects

Lab Notebook Projects Pages

Each Project pages will be created beneath the Lab Notebook Main Page

Notebook:[Username]/Projects/Project1

Lab Notebook Daily Entry Pages

Each Project pages will be created beneath the Lab Notebook Main Page

Notebook:[Username]/

Lab Notebook Individual Daily Entry Pages

Each Project pages will be created beneath the Lab Notebook Enries Page. The pages will all use a date as part of the title using the format YYYY/MM/DD with no leading zeroes. Only valid dates will be allowed. This means there currently can be only one entry per day.

Notebook:[Username]/2008/01/12

Lab Notebook Shadow Daily Entry Pages