SoberIT

Software Business and Engineering Institute

T-76.115 Software Project

A Tutorial on Eclipse IDE A Tutorial on Wiki (A Tutorial on Bugzilla) Lauri Svan / SoberIT [email protected] 19.10.2003

HELSINKI UNIVERSITY OF TECHNOLOGY

1

SoberIT

Software Business and Engineering Institute

Contents

ƒ ƒ

ƒ

ƒ

Course tool support Eclipse tutorial

Š Š Š

What is Eclipse Eclipse workbench metaphor Demo on basic Eclipse use

Wiki tutorial

Š Š Š

What is Wiki Basic functionalities Demo on basic TikiWiki use

Bugzilla tutorial (in different slideshow)

Š Š

What is bugzilla Bugzilla demo (in slides) 2

1

SoberIT

Software Business and Engineering Institute

Course tool support

ƒ

The course offers tools and support for the following systems/tools

Š Š Š Š

ƒ ƒ ƒ

Eclipse IDE and a set of useful plugins (Installed in A218) Visual Studio (Installed in A218) Bugzilla (https://newclass.soberit.hut.fi/bugzilla/YOUR_GROUP/) TikiWiki (https://newclass.soberit.hut.fi/wiki/YOUR_GROUP/)

A218 computers also contain some other useful tools

Š

Our computer administrators will publish the list shortly

Bugzilla will be available by the end of the this iteration TikiWiki is available now

Š

You should have received a message about your accounts

3

SoberIT

Software Business and Engineering Institute

Eclipse Tutorial

HELSINKI UNIVERSITY OF TECHNOLOGY

4

2

SoberIT

Software Business and Engineering Institute

What Is Eclipse?

ƒ ƒ ƒ

”Platform for all and nothing in particular”

ƒ

Open Source

ƒ

Cross-platform, ’cross-language’

Extensive IDE (Integrated Development Environment) Aims to capture most everyday software development activities

Š Š Š Š Š

”free” Initial codebase donated by IBM

Built in Java (+ some native C for UI components) Builds available at least for Windows, Linux & OS/X Best for Java applications, some tools available for C, Cobol, PHP etc... 5

SoberIT

Software Business and Engineering Institute

Why Eclipse? ƒ It’s ’free’ Š

does not cost anything to you, has costed a lot of time for its developers)

ƒ

Contains the basic tools for everyday software development

ƒ

Extensible architecture

ƒ

Stable and usable

ƒ

In general, why integrate?

Š Š Š Š Š Š

From the traditional point-of-view where software development is seen as working with files & code Can be extended with hundreds of plugins capturing different features The basic architecture stable and well-designed Less overhead in the project workspace setup ƒ Working builder, version control and debugger out-of-the-box ƒ Less tinkering with configuration files, classpath setups etc. ƒ Less time needed to learn new tools, all tools have similar user interface Interoperable tools speed up the project ƒ Less small steps between the activities Better ”user experience” 6

3

SoberIT

Software Business and Engineering Institute

Features (basic installation)

ƒ

Java editor

ƒ

Builder

ƒ

Debugger

ƒ ƒ

Resource explorer

Š Š Š Š Š Š

Pretty-print tools (indentation, syntax colouring, code-folding, etc...) Refactoring tools (interface extraction, delegation etc...) Integrated builder for automatic builds Configurable ANT builder (optional) Breakpoint setting Good visual tools for browsing the program state

CVS integration

Š Š

All major protocols (RSH, SSH1/SSH2, etc.) Well-visualized changes, version trees etc. 7

SoberIT

Software Business and Engineering Institute

Additional features (plugins)

ƒ My picks:

Š EclipseProfiler (Profiling tools) Š AspectJ (Aspect development, a whole new programming paradigm!)

Š EclipseMetrics (Variours metrics for source code analysing) Š XMLBuddy (basic XML editor) Š Together (A very extensive UML modeling plugin, a commercial product having a free community license)

ƒ Other important tools having good reputation (I have not tested):

Š Eclipse Visual Editor (GUI Editor for Swing & SWT applications)

Š JBossIDE (Integration into a popular J2EE platform) 8

4

SoberIT

Software Business and Engineering Institute

Eclipse concepts

Workbench:

•The main application window •Used to control the resources in your workspace •HINT: You may have several open workbenches (launch the application several time), but they have to use different workspaces.

Workspace

•Or more likely a view depicting your workspace •A collection of resources (projects and their files) •In practice workspace is a configuration of your workspace settings (window layouts, associated projects etc), stored somewhere in your user profile. 9

SoberIT

Software Business and Engineering Institute

Eclipse concepts

Views:

•Windows that provide a representation of your workspace. •Typically different tools & plugins create their own views •Views are independent on each other, but may communicate through Eclipse plugin architecture •HINT: You can customize your views by dragging and dropping, or right-clicking the view title bar

Perspectives:

•Organized collection of different views •I.e. Java, debugging and team (CVS) perspectives.

10

5

SoberIT

Software Business and Engineering Institute

Eclipse concepts: Sample Views Editor View:

•Different editor views for editing any text files (java code, XML etc...)

Problems View:

Package Explorer:

•Shows errors in your code and workbench

•Shows the hierarchies of your java projects 11

SoberIT

Software Business and Engineering Institute

Eclipse Concepts Projects:

•Each resource is associated to a project •This project is stored to CVS (hence the small orange cylinder)

Folders:

•Folders can be used to group resources in the projects

Resources:

•Files, folders and projects in the workspace

12

6

SoberIT

Software Business and Engineering Institute

Eclipse Concepts Resources:

•Right-clicking any resource in the project will invoke its associated context menu •Lists the actions that may be activated for the resource •I.e. Opening a file for editing, synchronizing with CVS, deleting etc. •PARADIGM: Working with a project in Eclipse is creating and manipulating its resources (file metaphor). 13

SoberIT

Software Business and Engineering Institute

Demo: A Walkthrough to Eclipse

ƒ ƒ ƒ ƒ ƒ

Creating a project Setting project properties

Š Š

Build paths Adding external libraries

Editing and compiling files

Š

Small refactorings

Debugging

Š Š

Inserting breakpoints Profiling plugin

Team perspective

Š

Setting up CVS repository and synchronizing with it 14

7

SoberIT

Software Business and Engineering Institute

Demo: A Walkthrough to Eclipse

ƒ (Adding and setting up new plugins) ƒ (Adding unit tests) Š Generating a separate source tree Š Creating a test

ƒ (Modeling with Borland Together)

15

SoberIT

Software Business and Engineering Institute

More Information on Eclipse

ƒ Eclipse Home http://www.eclipse.org/

ƒ An extensive repository of Eclipse plugins http://www.eclipse-plugins.info/eclipse/index.jsp

ƒ Another Eclipse plugin repository (commercial) http://www.eclipseplugincentral.com/

ƒ An Eclipse-related Wiki (classifies many Eclipse projects)

http://eclipse-wiki.info/

16

8

SoberIT

Software Business and Engineering Institute

Using Wiki for Your Project Documentation Using TikiWiki as an Example

HELSINKI UNIVERSITY OF TECHNOLOGY

17

SoberIT

Software Business and Engineering Institute

What are Wikis?

ƒ

Hypertext made easy

ƒ

Uses structured text for text formatting

ƒ

Wiki is not HTML

ƒ

Some advanced wikis (i.e. TikiWiki) contain groupware functionalities

Š Š Š Š Š Š Š Š Š

Wiki engine takes care of linking your documents inside the wiki system ’CamelCase’ formatting for creating internal links Simple syntax Formatting errors do not mess up the whole site Uniform look & feel for all text documents It is structured hypertext that is rendered to HTML

Discussion forums Access control Workflows (i.e. created/reviewed/published)

18

9

SoberIT

Software Business and Engineering Institute

Why Wiki?

ƒ

All your documentation is made easily visible to your stakeholders.

ƒ ƒ ƒ

Automatic version control

ƒ

You might not want to use wiki, because:

Supports collaborative editing Course staff expects HTML or PDF returns (wiki pages can be converted fairly easily to HTML)

Š Š Š

It forces your group to learn yet one more structuring language Your group already has an easy HTML publishing environment having version control (i.e. DreamWeaver licenses for all group members) You are not creating hypertext and you not wish to publish it

19

SoberIT

Software Business and Engineering Institute

Your Project Might Use Wiki for

ƒ Project home page

Š Easy access control, customer comments etc.

ƒ Project documentation

Š Wiki pages as a basis of your document deliveries

ƒ SEPA diaries Š Blogging

ƒ Knowledge base Š Link repositories Š News

20

10

SoberIT

Software Business and Engineering Institute

Creating and Editing Wiki Pages Formatting tools provide sample wiki markup to the end of the editing text box

•Browse existing wiki pages, find orphan pages etc. •You can collect your wiki pages to structures •Automatic TOC •HTML Exporting linked pages

SoberIT

Software Business and Engineering Institute

User Administration Admin Tools:

•Single click to the folder icon opens Administrative tools

User Administration is here

All the editing happens in this text box

Wiki pages can be commented (for i.e. Reviews) When ready, click save. •You may cross the ”Minor” if you do not wish your change 21 to be shown in changelog

Creating Users:

•All these fields are mandatory •You may create multiple users by using CSV upload •First line contains column names (i.e. ”login, password, email” •Other lines contain user information in the given format

•Tools for modifying, assigning groups and deleting

22

11

SoberIT

Software Business and Engineering Institute

Importing Documentation to Wiki Format

ƒ You can import very simple HTML documents Š In practice, use another means

ƒ Most Word documents can be converted to Wiki pages easily

Š Exports the structure, not formatting Š MS Word editor is far superior to any web-based editor ƒ Effective and familiar GUI ƒ No expired sessions or problems in network connections ƒ Automatic backups Š Four-step process: ƒ Copy-paste your document (any format understood by MS Word) to a blank MS Word template

ƒ Fix non-standard tables, possibly remove hyperlinks 23

SoberIT

Software Business and Engineering Institute

Exporting Documentation

ƒ You might not want to use hypertext in course documentation

Š You have to fix your links manually if you return hypertext Š In a way, the course expects one file returns for each document

Š Create single page for each course document

ƒ PDF export fails in complex documents!

Š Fails in more complex documents (containing links, tables etc)

ƒ Printer-friendly HTML export works well (use it to export course documentary)

24

12

SoberIT

Software Business and Engineering Institute

A Wiki Walkthrough

ƒ Creating a simple wiki page

Š Wiki syntax (from the help and in practice) Š Inserting an image Š Attachments Š Linking to new pages

ƒ User administration and access control Š Creating a new user Š Assigning the user to a group Š Setting access restrictions to a wiki page

ƒ Importing and exporting wiki documentation

Š Creating a wiki template from course document template Š HTML exporting a printer-friendly page 25

SoberIT

Software Business and Engineering Institute

More Information on Wikis

ƒ TikiWiki home (main source for all tikiwiki info): http://www.tikiwiki.org/

ƒ A Wiki-based Encyclopedia (an example of a massive community-powered wiki): http://www.wikipedia.org/

ƒ A macro for converting MS Word to wiki markup:

http://tikiwiki.org/tiki-index.php?page=WordToWiki_swythan

26

13