en/Projects/wija

Overview

wija and its plug-ins are written in Java language (J2SE; Java 2 Standard Edition)*1. You will need to install JDK (J2SE Development Kit) to develop programs using J2SE (bundled with OS in case of Mac OS X). We assume that ant tool is used for builds.

The versions of all software (including wija and its plug-ins) and web sites developed and distributed by Media Art Online are managed using Perforce software. It is a commercial software, but Perforce has agreed to grant free licenses for 40 users in Media Art Online only in the case where those licenses are used for development in open source projects. Also, since the client software for Perforce is free, anyone can obtain the latest source code using the software even if they do not intend to participate in development at Media Art Online.

We have prepared the wija-devel-en mailing list (the English-only version of wija-devel) to share those licenses and to discuss issues in the development of wija and its related software. For each member of wija-devel-en list, a writing-enabled Perforce user account is allocated.

If you are interested in joining wija-devel-en, please let us know at the following

mailto.png

Nightly build

The members of wija-devel-en can try out the latest software or documentation by receiving a review message by Perforce right after a modification is made to the development items in which they are interested.

In case of software development

However, what you can obtain from Perforce is source code, so that you will need to build the softare using the development tools in order to actually try them out. It could be too complex for people who do not normally develop software.

Therefore, an internal release is made almost nightly, so that people who do not wish to use the development tools can still check changes when they are made.

This internal release is made in the early morning (JST) of the next day following a new modification (the procedure will be automated in future, but for the time being, it is manually done, which may make the timing rather unpredictable). The following URL is reserved for the internal releases.

@ At the beginning., the internal releases themselves will be notified by review messages.

An internal release is provided in the form of a compressed archive file whose name contains the latest Perforce change number.

wija-change#.zip

In case of documentation development

Likewise, you will need to build help pages on your computer from their source code written in "OmniDocument?" format. To do so, you will need to use one of our development tools (help page generator).

However, Media Art Online staff (a software robot in future) will always build help pages on our second web server whenever a modification is made to the documentation. This will let you browse the updated pages on the following URL after sometime:

If no one sees a problem in the updated documentation, the modification will be propagated to the published site at http://www.media-art-online.org/wija/ .

Development tools

Perforce installation and configuration

Perforce overview

Perforce is a software to help people physically distributed in many distant locations, using different computers, to develop the same software and/or documentation using the Internet. Perforce lets you manage versions of each file of which a software or a documentation consist.

Depot
Perforce places a depot, or the version management database, on the Perforce server prepared for a site. This database contains all source code and their revision histories of the software or documentations developed on the site. In the depot, information of files are organized in the form of layered directories just like they are in your computer.
Client
A Perforce user defines a client, or a mapping, for each development category with which they are concerned. The mapping defines which part of the depot corresponds to which directory in the local disk of the user's computer.
Workspace
The directory in the local disk onto which a part of the depot is mapped is called a workspace. A Perforce user downloads the latest versions of the files from the depot, adds files to the workspace, modifies existing files, and submits the changes to the depot.
Review message
A Perforce user can have the Perforce server send them e-mail messages to notify any changes to the development items with which they are concerned. This notification message is called a review message.

Why Perforce:

There are a lot of versioning software available in the market other than Perforce. CVS (Concurrent Versions System) is perhaps the most well-known example of such software, being free, and is used broadly for development of free software. The reasons why Media Art Online uses Perforce include 1) it is faster, 2) it is well-designed, 3) it provides more minute control over accessing the files.

Environment variables for Perforce

The following environment variables may have to be set. How to do so depends on the platform you are using.

NameMeaningSetting
P4CLIENTClient nameUsed for identifying the workspace the user uses
P4EDITOREditorThe editor software the user usually uses
P4PASSWDPasswordThe password notified to you
P4PORTServer name:portperforce.media-art-online.org:1666
P4USERUser nameThe user name notified to you

The following is a suggestion for naming the clients.

computerName_scm <- client name to identify a software development space
computerName_wcm <- client name to identify a document development space

(SCM stands for Software Configuration Management. WCM stands for Web Content Management.)

Because p4 software always lets you specify the client name by -c option, you do not need to set P4CLIENT, especially if you intend to use multiple clients all the time.

Popular Perforce commands

A p4 command takes the following form ($ is a prompt, which may be different in your environment).

$ p4 command [option...] [argument...]

Global options (such as -c) are specified before the command name.

$ p4 -c client command [option...] [argument...]

The following is the list of popular p4 commands.

CommandFunction
p4 addAdds files
p4 clientCreates/edits/deletes a client
p4 clientsLists existing clients
p4 deleteDeletes files
p4 editOpens files for editing
p4 resolveResolves conflicts of editions
p4 revertCancels modifications before submitting
p4 submitSubmits additions/editions/deletions to the depot
p4 syncUpdates the workspace by obtaining files from the depot
p4 userCreates/edits/deletes a user
p4 usersLists existing users

MAO WSCM Depot configuration

PathDescription
//depot/wcm/...Media Art Online Web site (including wija help pages)
//depot/scm/...Media Art Online software (including wija)
//depot/docs/...Media Art Online publications (papers and presentation materials)

wija-devel(-en) mailing list members are configured to review //depot/wcm/... and //depot/scm/... by default (meaning that they will receive e-mail messages when changes are made; the configuration can be changed by the members themselves). Those wija-devel(-en) members who are also members of Murai Lab. are configured to review //depot/docs/... by default as well.

Directory structure for software development

Directory structure for documentation development

Directory structure for publications

Perforce tutorial

Setting user profiles

Creating a client

Setting up/updating a workspace

Building software

Building documentation

Upon receiving a review message

Adding files

Editing files

Submitting files to depot


*1 Some part of plug-in modules may be written in a script language. In which case, either it should be the platform's standard language (such as AppleScript? for Mac OS X) or users should be guided how to install the script language. Currently, helpgen, our help generator tool, uses a script written in Perl.

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS