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