Login   I   Sitemap   I   Contact Us   I   Sales: (US) 1-866-468-5210   (EU) +49-711-67400677
Intland Software - Collaboration Begins Here
Download or Try the fully functional version of codeBeamer. It's free, simple and secure.
codeBeamer is the award winning Collaborative Application Lifecycle Management (ALM) solution for distributed software development.
Project management, wiki, document management, issue tracking, ITIL, continuous integration, version control, source code analysis and forums.

Links

Feeds

Editor Menu

Webinar: How to optimize your software development processes with codeBeamer and Git/Mercurial

Mercurial and Git have many advantages over the more traditional centralized approach to revision control. They allow users to work productively even when not connected to the network, processes can be optimized better, and they make most operations much faster since no network traffic is involved. All these advantages can now be used directly within the Eclipse IDE. Together with codeBeamer, you can cover your whole Application Lifecycle, from requirements to builds.

Join our webinar:
How to optimize your software development processes with codeBeamer and Git/Mercurial


Date: Thursday, September 02, 2010 - Time: 4:00PM - 4:45PM (CET) / 10:00AM - 10:45AM (EST)

The webinar will shortly introduce the major differences between traditional version control systems (such as CVS or Subversion) versus Mercurial and Git. Furthermore, it will show you how to use codeBeamer and a DVCS to manage the Application Lifecycle:

  • Introduction of Intland and DVCS
  • codeBeamer modules (Wiki, Documents, Trackers, Builds)
  • Short introduction of each module
  • Working with Eclipse
  • Short scenario of an Application Lifecycle (codeBeamer & Eclipse)

For further information please see also:

http://blog.intland.com/


How to join the presentation?

It is easy, just follow the steps below:

Webinar on Thursday, September 02, 2010 at 4:00PM (CET) / 10:00AM (EST)

1.  Please join my meeting,  "Thursday, September 2 at 16:00 Mitteleuropäische Sommerzeit".
https://www2.gotomeeting.com/join/620887770

2.  Use your microphone and speakers (VoIP) - a headset is recommended.  Or, call in using your telephone.

Germany: +49 (0) 898 7806 6469
United States: +1 484 589 1020
Access Code: 620-887-770
Audio PIN: Shown after joining the meeting
Meeting ID: 620-887-770

GoToMeeting®
Online Meetings Made Easy™

The numbers of attendee are limited. If you are not be able to join the webinar, don't worry there will be a next one soon. The next dates will be stated on our blog.

Intland Software joined the Eclipse Foundation

Intland Software has recently joined the Eclipse Foundation, as a Solution Member.

Our aims are to take the MercurialEclipse project to the next level, to contribute to the Egit project and to define a generic integration layer between the leading Distributed Version Control implementations and the Mylyn task-focused interface.

We are looking forward to work on the next generation of Distributed Version Control System plugins for Eclipse.

Read the full post here: Welcome Intland Software to Eclipse

codeBeamer 5.5 is on the way

How will the future looks like?

For the upcoming release, we threw our ideas together to achieve more visibility and improved communication with Web 2.0 conform activity streams, and also enhanced our support for the Mercurial and Git Distributed Version Control Systems. For safety critical development projects we implemented an additional process in order to support compliance with regulatory requirements. Furthermore, we added baselining for requirements management.

Features in codeBeamer 5.5

  • Activity Stream: Stay informed, track the “who, what, when, and where” activities and content added, edited, committed. Web-2 Social feature.

  • Baselining: A Wiki, Document configuration item that serves as the basis for further development. The baselined item is fully retrievable from storage, despite changes, for future reference.

  • Dashboard: codeBeamer is having all artifacts together and the new dashboard will give you the advantage to see them all on one screen. Take a look into your projects as you never did before.

  • Two man-rule (Two-person concept): a process control (i.e. code review) designed to achieve a high level compliance requirements. Under this rule all access and actions requires two authorized people at all times. Such processes are named in defense "Two-person concept". German authorities call it "4-Augenprinzip".

  • Mercurial Eclipse 1.7: The new version of the HgEclipse Plug-In will include bugfixes and enchantments.

  • codeBeamer Eclipse Studio: EGIT intergration for GIT users.

 

Webinar: Working with codeBeamer and JavaForge

Webinar: Working with codeBeamer and JavaForge

Thank you for your registration and your interest in codeBeamer. Most of you read about or even tried out codeBeamer already. But sometimes it is not enough, not all questions are answered, not all functions are shown. Therefore, we like to invite you to a live presentation about codeBeamer and its possibilities. If you are developer, project, process or product manager, codeBeamer/ Participate supports much more than meets the eye....

Join our webinar:
Working with codeBeamer and JavaForge

Dates: Thursday, July 08, 2010 and Friday, July 09, 2010 - Time: 4:00PM - 4:45PM(CET) / 10:00AM - 10:45AM(EST)

The webinar will show a small scenario of an ALM from requirements to release and how it can be realized with the different moduls of codeBeamer:

  • My Start
  • Projects
  • Documents: Workflow and Versioning
  • Tracker/CMDB: Workflow, related fields, views, customization
  • Reports
  • Forum/ Chats
  • Builds
  • SCM Repository
  • Member/ Admin: Roles and Groups

For further information please see also the link below:

http://blog.intland.com/


How to join the presentation?

It is easy, just follow the steps below:

Webinar on Thursday, July 08, 2010 at 4:00PM(CET) / 10:00AM(EST)

1.  Please join my meeting.
https://www2.gotomeeting.com/join/843325659

2.  Use your microphone and speakers (VoIP) - a headset is recommended.  Or, call in using your telephone.

Dial +49 (0) 898 7806 6463
Access Code: 843-325-659
Audio PIN: Shown after joining the meeting

Meeting ID: 843-325-659

GoToMeeting®
Online Meetings Made Easy™

Webinar on Friday, July 09, 2010 at 4:00PM(CET) / 10:00AM(EST)

1.  Please join my meeting.
https://www2.gotomeeting.com/join/893000202

2.  Use your microphone and speakers (VoIP) - a headset is recommended.  Or, call in using your telephone.

Dial +49 (0) 898 7806 6466
Access Code: 893-000-202
Audio PIN: Shown after joining the meeting

Meeting ID: 893-000-20

GoToMeeting®
Online Meetings Made Easy™


The numbers of attendee are limited. If you are not be able to join the webinar, don't worry there will be a next one soon. The next dates will be stated on our blog.

Working on the beach with Eclipse, Mylyn and Mercurial

Unbenanntes Dokument

Are you Eclipse developer? Travelling a lot? Frequently working at the customer site?

Then you know the problem that you can’t take your tracking systems, issue management and version control system with you and it takes a while when you are back to sync your changes with your team. CodeBeamer Eclipse Studio with DVCS solves this problem. Now you can work in your network during your travel or at your customer and the synchronization in Eclipse is at your fingertips.

codeBeamer Eclipse Studio gives reflectivity and mobility to codeBeamer users. You can create and edit requirements, tasks, bugs edit and commit code quickly without leaving Eclipse. codeBeamer Eclipse Studio with the Mercurial, Subversion and CVS is an awesome combination for distributed, focused, online and offline working.

Join our webinar:
Working on the beach with Eclipse, Mylyn and Mercurial

Dates: Wednesday, June 16, 2010 and Thursday, June 17, 2010 - Time: 4:00PM - 4:45PM(CET) / 10:00AM - 10:45AM(EST)

The webinar will show how to working with codeBeamer Eclipse Studio:

  • Quickly create Requirements and Tasks
  • Integrate with Mercurial, Subversion and CVS
  • Work Offline and synchronize when you are online

For further information please see also the links below:

codeBeamer Eclipse Studio


How to join the presentation?

It is easy, just follow the steps below:

Webinar on Wednesday, June 16, 2010 at 4:00PM(CET) / 10:00AM(EST)

1. Please join my meeting
https://www2.gotomeeting.com/join/115004555

2. Use your microphone and speakers (VoIP) - a headset is recommended. Or, call in using your telephone.

Dial +49 (0) 898 7806
Access Code: 115-004-555
Audio PIN: Shown after joining the meeting

Meeting ID: 115-004-555

GoToMeeting®
Online Meetings Made Easy™


Webinar on Wednesday, June 17, 2010 at 4:00PM(CET) / 10:00AM(EST)

1. Please join my meeting.
https://www2.gotomeeting.com/join/557178763

2. Use your microphone and speakers (VoIP) - a headset is recommended. Or, call in using your telephone.

Dial +49 (0) 898 7806 6464
Access Code: 557-178-763
Audio PIN: Shown after joining the meeting

Meeting ID: 557-178-763

GoToMeeting®
Online Meetings Made Easy™


The numbers of attendee are limited. If you are not be able to join the webinar, don't worry there will be a next one soon. The next dates will be stated on this blog.

Intland at Eclipse Embedded Day Stuttgart 2010

Eclipse Embedded Day Stuttgart 2010
Stuttgart/Germany
June 24, 2010
http://wiki.eclipse.org/EclipseEmbeddedDayStgt2010

Our very own CEO, Janos Koppany, is going to speak about Frischer Wind aus der Linux community umweht embedded Software Entwickler at the yearly Eclipse Embedded Day in Stuttgart. We would be thrilled to meet you there and chat about our latest Eclipse offerings, CB Eclipse Studio and MercurialEclipse, or anything else that excites you.

Also, you can your questions to @intland at Twitter any time.

Webinar: Eclipse & Mercurial - how to use Mercurial from Eclipse

Unbenanntes Dokument

For Eclipse users the MercurialEclipse plugin provides visual control over the Mercurial distributed version control system. Mercurial has many advantages over the more traditional centralized approach to revision control. It allows users to work productively even when not connected to a network, makes most operations much faster since no network is involved. All this advantage can be used now directly within the Eclipse IDE.

Join our webinar:
Eclipse & Mercurial - how to use Mercurial from Eclipse


Date: Wednesday, June 09, 2010 and Thursday, June 10, 2010 - Time: 4:00PM - 4:45PM (CET) / 10:00AM - 10:45AM (EST)

The webinar will shortly introduce the major differences between traditional version control systems such as CVS, Subversion and Mercurial/GIT and show:

                • cloning repositories and importing them as Eclipse projects
                • push, pull and convenient synchronization
                • working with branches (branch, merge and rebase)
                • working with tags
                • undo (backout, rollback and strip)
                • diffs
                • histories
                • patches

For further information please see also the links below:

MercurialElclipse Plug-in


How to join the presentation?

It is easy, just follow the steps below:

Webinar on Wednesday, June 9, 2010 at 4:00PM (CET) / 10:00AM (EST)

1. Please join my meeting.
https://www2.gotomeeting.com/join/338937035

2.  Use your microphone and speakers (VoIP) - a headset is recommended.  Or, call in using your telephone.

Dial +49 (0) 898 7806 6468
Access Code: 338-937-035
Audio PIN: Shown after joining the meeting

Meeting ID: 338-937-035

GoToMeeting®
Online Meetings Made Easy™


Webinar on Thursday, June 10, 2010 at 4:00PM (CET) / 10:00PM (EST)

1. Please join my meeting.
https://www2.gotomeeting.com/join/625298243

2. Use your microphone and speakers (VoIP) - a headset is recommended. Or, call in using your telephone.

Dial +49 (0) 898 7806 6463
Access Code: 625-298-243
Audio PIN: Shown after joining the meeting

Meeting ID: 625-298-243

GoToMeeting®
Online Meetings Made Easy™

MercurialEclipse 1.6.0: Enterprise Codebases with Ease

Following our last week announcement of codeBeamer Eclipse Studio 2.0, we are pleased to announce the availability of MercurialEclipse 1.6.0, the definitive Mercurial Plugin for the Eclipse IDE.

First, the greatest news. Seven months ago, HgEclipse was cloned from the original MercurialEclipse project, to offer an alternative Mercurial plugin that is focusing on enterprise needs. The two paralel projects, unfortunately, confused many Mercurial users. Following discussions with Zingo Andersen and Bastian Doetsch (leaders of the original MercurialEclipse project), HgEclipse and MercurialEclipse will officially reunite with the 1.6.0 release! The project will use the name MercurialEclipse, and its home will be at the JavaForge.com project hosting site. With the reunion, our purpose is to eliminate redundancy and confusion, further evangelize the use of Mercurial in Eclipse, and to serve the best interest of the user community.

(Quick status report: the latest code is already available at JavaForge, and we are also slowly migrating the old issues to the new bug tracker.)

Version Highlights

Version 1.6.0 focuses on enhancing the plugin experience when used in massively multi-project and multi-repo environments.
  • 1.6.0 comes with a full rewrite of the multi-project support, which results in incomparable performance and usability optimization for the enterprise world. Operations on huge repos, that took 10 minutes in earlier versions, now take just 10 seconds!
  • Full support for multiple Eclipse projects under one Mercurial root.
  • Better repository management: improved Clone Wizard, Repositories View and project repository settings.
  • Added first draft of the full-text history search. Now you can grep for any string in the entire repository history.
  • History View usability improvements:
    • New bisect feature.
    • File status decorations: added/removed/changed.
    • Highlighting for merge commits.
    • Tag info for single file history.
    • History navigation up to the root.
    • New context menus to compare/open/replace with parent/other file versions.
  • For Windows users: Mercurial was updated to the 1.4.3 version. Also, Mercurial documentation and man pages were integrated into the Eclipse help. You can now work now completely offline, and never have to leave Eclipse.
  • And, as usual, various performance-, usability improvements, and bug fixes in all areas.

The Icing on the Cake

If you are already enjoying the freedom of Distributed Version Control with MercurialEclipse, recently we released a new product that tightly integrates with it: codeBeamer Eclipse Studio (CBES).

CBES is the perfect match for MercurialEclipse to offer even more flexibility, mobility, and sophisticated task management for distributed projects. You can create and update tasks, bugs and requirements, then associate Mercurial change sets with these work items quickly without leaving Eclipse. It also works offline, synchronizing with your web-based data as soon as the network access is re-established.

Figure out how in this quick tutorial.

Links

Happy coding!

codeBeamer Eclipse Studio: Collaborative workspaces can now go offline

In 2010 public network access is still far from ubiqutous, making the continuous work impossible for many knowledge workers. Managers, consultants, programmers waste so many valuable time sitting on the plane, working on-site disconnected from the outside world, or just not having access to any wifi hotspot. Intland Sofware now allows doing your work anywhere, even offline.

We are happy to annouce the 2.0 release of codeBeamer Eclipse Studio (CBES). codeBeamer Eclipse Studio takes all your information offline (including source code, version control of any file, and tasks), and enables you to continue your work remotely and securely. It also helps to synchronize with your "web-based data" at a later time.

How does it work? Let's compare the old and the new ways.

Increased productivity through mobility

The nineties way

  1. Check out a working copy from Subversion hosted on some corporate server, and create a project in Eclipse.
  2. Open your browser, navigate to your intranet based task management system, and activate your next set of tasks.
  3. Stay online, CHAINED to your cubicle.
  4. Work on the code. Commit to Subversion. Update your tasks in the task management system. (Make sure network connection is fine.)
  5. Goto 2.
You know this one very well, for sure.

The mobile knowledge-worker way

  1. Clone a repo from Mercurial with MercurialEclipse's Clone Wizard, and let it create the corresponding Eclipse project.
  2. Create a new task query with CBES's Query Builder, and import your tasks to Mylyn.
  3. Now you can go offline. Get on the plane, visit your customer, or go to your favourite coffee shop.
  4. Work on the code as you normally do. Commit your changes to Mercurial. Update your tasks in Mylyn. (You can do all this offline.)
  5. If still offline, goto 4.
  6. Online again? Push your outgoing changes to the central Mercurial repository conveniently, using MercurialEclipse's Synchronization View. In the background, your tasks will be automatically synchronized with the remote task repository.
The question is: which one are you?

Links

Presentation: Integration of a Holistic Application Lifecycle Management Approach with ITIL V3

As it was said before, Intland will visit the ITIL Forum 2010 conference in Frankfurt, Germany. Not only we will participate as exhibitors, but one of our most experienced customers will present her approach to practical Application Lifecycle Management (ALM).
Make sure you don't miss it, and visit us at our booth as well!

Details

ITIL-Forum 2010
May 4, 13:20
Sheraton Frankfurt Hotel & Towers
Frankfurt, Germany

Topic: Integration of a Holistic ALM approach with ITIL V3 - Knowledge Management in Project and Service Management
(In German: Integration eines ganzheitlichen ALM-Ansatzes mit ITIL V3 - Wissensmanagement in Projekt- und Service Management)

Presenter: Monika Müller, Consultant for Quality- and Application Lifecycle Management, Lufthansa Systems

More details on this conference day

UPDATE: if you can't make it to Frankfurt, we are looking forward to meet you also at Java Forum Stuttgart (July 1, 2010 in Stuttgart, Germany).

Matthias Schulz, CIO of the Year 2009, speaks about Enterprise IT Systems vs the Public Internet

In February, Computerwoche, the popular weekly magazine for IT Managers published an interview with Matthias Schulz, CIO of the Year. Mr.Schulz summarizes what generally enterprise should learn from the public internet in three major cornerstones: effortless maintenance of information, instant searchability and controlled processes.

Why is this mentioned in our blog? Well, it is because Mr.Schulz has been a long time codeBeamer user! He introduced codeBeamer as collaboration platform at his former employer, an international financial institution. Later, based on the previous positive experience, he introduced it also at Easycash, his current company specializing in customized card-based payment solutions. In both cases, the decision making was preceeded by extensive research and comparison of the leading vendors, which concluded that codeBeamer was the best fit to these requirements.

Does your team also need an extensible collaboration solution that relies on these principles? Look no further, test codeBeamer for free.

Search the Computerwoche site for the original article in German (we can't link it here because of weird legal problems), or read our English translation below.

Computerwoche: Mr. Schulz, end of last year you have been awarded as "CIO of the year" in the medium-business-size section for your consolidation and insourcing project "Delta". In our rapid acting business, the award already seems to be some time ago. Besides that - what keeps you currently busy?

Matthias Schulz: By omitting to adopt good, approved and efficient concepts consistently and completely, enterprises spoil an exorbitant amount of time and budget. For example, the requirements for a collaboration and information management system (CS) significantly resemble those of the world biggest CS, the internet. Surprisingly, only few enterprises adopt these basic concepts within their own organisation. The requirements can be classified in three categories: portal entry, search functions as well as process support and process automation.

Regarding portal, users intend to register information without any efforts, continued by reading, updating and, if required, deleting these information - ideally in team function. This is neither enabled by huge and multi-paged documents in file-folder-structures nor by paperworks in countless folders. The document itself as information container is also inappropriate as no one is willing to read x pages before getting the comprehensive information or obtaining interesting sequences of information; also processing of documents in parallel will be hardly possible.
Instead, it would be much better to demonstrate the information in first front, filed in small units without redundancies and linked with relevant pages.

Also search functions shall be analogue with the WWW, i.e. each information filed has to be tagged and be accessable via search engine functions. We all know the online booking functions for a railway or flight ticket. This process automation can be also converted to the CS of an enterprise. The better the process engine, the stronger ITIL processes, test and project models, even approval processes can be automised as well as optimized.

Within the past two years, I have implemented a collaboration tool within Easycash that mostly fulfills these requirements. I have also made good experiences with this tool in the former company I worked for in Austria.

JavaForge Project: Open ModelSphere - a data, process and UML modeling tool

This article is the second post in our new series that introduces notable JavaForge projects and community members. See the previous post about JPlay here.

Would like your project to be introduced here? Just tweet a message with the #javaforge hashtag to @intland, and we will get back to you.

In this post, we would like to introduce you is Open ModelSphere, a powerful data, process and UML modeling tool.

Interviewee Profile

Name: Grandite
Bio: Grandite is the "Business Modeling and Software Engineering Company". Based on a history and experience of 20 years in this sector, our team provides solid tools for data, business process and UML modeling as well as for engineering and reengineering databases and applications. Product-related services for technical support, training, consulting and development-on-demand complement our portfolio.
Location: Quebec City, Quebec, Canada
Web site: http://www.modelsphere.org (professional services: http://www.modelsphere.com)

The Open ModelSphere Project (Website)

What is your project about?
Open ModelSphere is about further developing a business process, data and UML modeling tool that already reached a degree of maturity as proprietary software before. Open ModelSphere is a free and open source application programmed in Java.
How are people using your project in real life?
Open ModelSphere is used by organizations of all sizes and industries to model stand-alone applications as well as to build their enterprise architecture. Users can easily create graphical representations of free databases like MySQL and PostgreSQL via ODBC / JDBC access. For commercial databases like Oracle, Informix and DB2 UDB, Grandite offers payable interfaces off- the-shelf. As opposed to the limited scope of a native ODBC / JDBC connection, these additional ready-to-use interfaces support a wide range of database-specific concepts for forward and reverse engineering as well as for the synchronization of databases.
Professional client organizations profit from our service packages that provide them unlimited access to our Technical Support and assure them of a fast response in case that a bug needs to be fixed. If clients require additional features, we provide the service to develop enhancements on demand.
Your biggest challenge?
Since ModelSphere was a grown application, designed and developed as proprietary software, we had to adjust the structure, code and documentation to fulfill the requirements of the GPL license (which we chose as the most appropriate for our purpose) as well as to attract external developers.
Your biggest achievement?
We believe that we are still on an ongoing "mission", so we better think in challenges than in achievements. However, we are delighted about the interest brought to Open ModelSphere from all over the world. The number of visitors on ModelSphere's web site, the number of downloads and - last, but not least - the number of clients have continuously increased, since we published Open ModelSphere as free software in September 2008.
Can you tell us about the team?
The core team comprises 3 senior developers who have an excellent Java expertise as well as the long-term experience in the development of another commercial product for business process and data modeling (SILVERRUN). There is also a changing number of additional members assigned to subprojects.
How do you coordinate the project and communicate with members?
We arrange meetings once to twice per year between the senior developers and Grandite's management to match the aspects of business, market and technology. Furthermore, the senior members meet whenever there is the necessity to discuss technical issues in person rather than by electronic communication. Each of the senior developers is also a tutor for less experienced members and/or external developers who wish to contribute to the application. To ensure the quality of the application, the access to update the JavaForge environment is limited to the 3 senior developers.
Your future directions?
The roadmap for 2010 includes support for additional user interfaces whereas we primarily consider German and Spanish. We believe that this will strengthen our position in Europe and South America and, in a next step, encourage developers from other areas of the world to translate the user interface into their languages, may be even those with non-Latin character sets.
Another important task for 2010 is to verify that Open ModelSphere is actually platform- independent, i.e. will not only run on Windows operating systems, but is also portable to Linux and Mac OS environments without any restriction. We consider this to be a crucial step, as organizations, that seek to use free application software, have already adopted Linux at large scale.
In the mid-to-long term, we like to leave the future directions for Open ModelSphere to an organized user community and take our position as their service provider.
Are you looking for contributors? If so, how can others contribute?
Yes, we are looking for contributors, in particular people that are interested to test Open ModelSphere in a Linux (Ubuntu) and/or Mac OS environment. Other than that, we are open for any ideas, and any qualified contribution is welcome.

Experiences with JavaForge

Why did you choose JavaForge?
We chose JavaForge first and foremost, because it is a hosting site for Java applications, and we want to interest other Java developers for our project. When we found that JavaForge offers the expected user features, our decision was taken.
Strengths of JF?
JavaForge is easy to administrate, in particular, we appreciate the flexible way of creating user profiles.
Weaknesses of JF?
We encountered some downtime of JavaForge at the beginning, but this is obviously eliminated.
What SCM system are you using?
We chose Subversion as our SCM system, and we especially like the "Tortoise" plug-in (for Windows Explorer) which is easy to install and to use.
What would you advise to someone thinking about starting a project on JavaForge?
Our project naturally fits into the JavaForge environment, and we believe that this will apply to the vaste majority of projects. Therefore, we do not have any particular advice how to start a project on JavaForge, but to focus on the "business" questions, i.e. is there a public interest in your project, whom do you want to reach, how do you organize your project, how do you intend to integrate external contributors etc.

JavaForge: Remote Build- and Deploy Automation using Groovy

Repetitive tasks are boring, especially if they take long. And since they are boring, they are inherently error prone. A typical example is a long and complicated build procedure that is performed manually every time. This is where programmatic automation enters the game to accelerate builds, and to reduce costs and errors.

Olaf Davidson of the U.S. Department of Agriculture shows us how his project hosted at JavaForge solves a fairly complicated build scenario with a surprisingly concise script. The script itself is written in Groovy, an alternative language that runs on the JVM, and the solution relies on the Groovy Codebeamer Scripting framework, also maintained by Olaf.

The actual script does the followings:

  1. Checks the need for a build
  2. Performs the build (locally)
  3. Changes the item status
  4. Creates a new 'milestone' item
  5. Uploads the build product to the Document Manager
  6. Attaches the build product and build process output to the milestone item
  7. Tags the source code repository
  8. Associates the fixed bugs and implemented features to the milestone build
  9. Posts a notification
Sounds pretty familiar, huh? Although the script included here is primarily for inspiration, you can easily implement your own build procedure, based on the same idea. Plus, an alternative use of this could be relocating your builds to an external server or servers, thus offloading the one that hosts your codeBeamer instance.

One more note: Groovy might not be your cup of tea, but this should not stop you. At the end, all you need is a client application written in your favourite language, accessing the codeBeamer remote API. The primary bindings for the API are Java and C#, but some of our customers have successfully implemented remote clients in PHP and C/C++, too.

package ngmfbuild

import cbscript.*
import static cbscript.CB.*

def SVN = "c:/cygwin/bin/svn.exe"
def ANT = "c:/java/apache-ant-1.7.1/bin/ant.bat"
def SVN_URL = "http://svn.javaforge.com/svn/oms"

def ms = "3.0.11"
def qstatus = "Ready"
def dry = false

println "Login JF/OMS..."
def jf = CB.login("http://javaforge.com/remote-api", "odavid", new
File("c:/tmp/jfpass").text)
def prj = jf.projects.find{ it.name == "Object Modeling System" }

println "Query bugs and tracker ..."
// query for candidates: fixed bugs

def readyBugs = prj.trackers.find {it.name == "Bugs"}.issues.findAll {
    it.status == qstatus
}

// query for candidates in Feature requests
def readyFeatures = prj.trackers.find {it.name == "Features"}.issues.findAll {
    it.status == qstatus
}

// combine all features and bugs into one single list
def readyList = readyBugs + readyFeatures

println "There are ${readyList.size} bug fixes/new features ready for
the build..."
if (!readyList.empty) {    // or require a minimum number of fixes/feature
    println " Bugs:"
    readyBugs.each{println "   ${it.id} -  ${it.summary}"}
    println " Features:"
    readyFeatures.each{println "   ${it.id} -  ${it.summary}"}


    println "Building ngmf.all ..."
    StringBuffer stdout = new StringBuffer()
    StringBuffer stderr = new StringBuffer()
    p = "${ANT} -Doms.version=${ms} -f c:/od/projects/ngmf.all/build.xml clean jar".execute()
    p.consumeProcessOutput(stdout, stderr)
    p.waitFor()
    if (p.exitValue()) {
        println "ERROR !!!!!!!!!!!!!"
        println stderr
        return
    }

    println "Branding Console with ${ms}"
    replaceVar(new File("C:/od/projects/ngmf.dcon/src/ngmfcon/resources/ConApp.properties"), ms)

    println "Building ngmf.con ..."
    stdout = new StringBuffer()
    stderr = new StringBuffer()
    p = "${ANT} -f c:/od/projects/ngmf.con/build.xml clean jar".execute()
    p.consumeProcessOutput(stdout, stderr)
    p.waitFor()
    if (p.exitValue()) {
        println "ERROR !!!!!!!!!!!!!"
        println stderr
        return
    }

    // dry run is done here.
    if (dry) {
        println "DRY RUN, STOP HERE !!!!!!!!!!!!!!!"
        jf.logout();
        return
    }

    // commit new release About
    println "Committing Branding ..."
    svn = """${SVN} ci "../ngmf.dcon/src/ngmfdcon/resources/NgmfdconApp.properties" -m 'Branding ${ms}'""".execute()
    tag_out = svn.text.trim()
    tag_err = svn.err.text
    println tag_out
    println tag_err

    // tag the whole trunk
    println "Tagging ${SVN_URL}/tags/${ms} ..."
    svn = "${SVN} copy ${SVN_URL}/trunk ${SVN_URL}/tags/${ms} -m 'tagged ${ms}'".execute()
    tag_out = svn.text.trim()
    tag_err = svn.err.text

    String info = "!!!Milestone ${ms} Build Info \n" +
            "; __Build Process Exit Status__: ${p.exitValue()} (see attachments for details)\n" +
            "; __SVN Tag URL__: " +
            "[tags/${ms}|http://javaforge.com/proj/sources/sccBrowse.do?proj_id=1781&dirname=tags/${ms}] " +
            "(external: [${SVN_URL}/tags/${ms}])\n" +
            "; __SVN Log__: " +
            "[${tag_out}|http://javaforge.com/proj/sources/sccFileLog.do?proj_id=1781&filename=tags%2F${ms}&isDir=true]"

    println "Creating new Milestone Item ${ms} ... "
    def mt = prj.trackers.find {it.name == "Milestones"}
    def milestone = mt.submit(summary:ms, text:info, priority:NORMAL)
    //
    println "  Attaching build output  ... "
    milestone.attach(name:"stdout.txt", content:stdout.toString(), text:"Build output.")
    println "  Attaching build product ... "
    milestone.attach(name:"oms-"+ms+".zip", file:"c:/od/projects/ngmf.all/oms3.zip", text:"OMS Zip Distribution.")

    println "  Uploading to documents ... "

    // copy the build to documents
    doc = prj.artifact("Releases/v3/oms-"+ms+".zip")
    doc << new File("c:/od/projects/ngmf.all/oms3.zip")
    //
    println "Associating all bugs/features to the new milestone ..."
    readyList.each{ task -> milestone.relate(task, RELATED) }

    println "Closing related bugs/features ..."
    readyList.each{ it.status = "Closed" }

    println "Spreading the news ..."
    def news = prj.forums.find {it.name == "News"}
    news.post(subject:"Milestone Release: " + ms, text:"Milestone details : " + CB.link(milestone));
} else {
    println " Nothing is ready for build."
}

println "Logout ..."
jf.logout();

def replaceVar(File file, String val) {
    file.text = file.text.replaceAll(/(Application.version = )\S+/, "\$1$val")
}

Better multi-tasking with the codeBeamer Mylyn connector

In todays highly competitive business world, noone has the luxury of working on a single task at a time anymore. Instead, we all make expensive context switches between very different tasks all the time. And, I guess, we all are searching for more efficient time management methods (GTD, anyone?) and tools that help us to reduce the information overload. Mylyn is one of those.

What is Mylyn? Mylyn is a task-focused interface for Eclipse that makes multi-tasking easy. It makes tasks a first class part of Eclipse, importing them from external task repositories, like the codeBeamer task and bug trackers, for instance. Once your tasks are integrated, Mylyn monitors your work activity, and uses this task context to focus the user interface on the task-at-hand. This improves productivity by reducing searching, scrolling, and navigation.

A Mylyn connector for codeBeamer, Intland's ALM software, has been available for years now. Last December, we decided to re-engineer it from ground up. Why? The new version incorporates long awaited changes based on the first hand experience of our customers and our internal development team, and it will also establish the basis for future improvements. This is where the story starts to get more interesting.

In the next iteration (due to summer 2010), we will add Mylyn Team Support features to HgEclipse. It will enable navigating from change sets to tasks, generate automatic commit messages and working with patches. Mylyn already has it for Subversion and CVS, but for Mercurial it is not available at the moment.

OK, let's get back to the spring release. The new codeBeamer Mylyn Connector beta will be out in April 2010. Version highlights:

  • Support for Eclipse 3.5
  • Task contexts saved to, shared on and restored from the codeBeamer server
  • Wiki markup support
  • Streamlined UI: easier and faster configuration of queries
Granted, the connector will be open source and free (both as in beer and as in speech).

So you say you don't have Mylyn installed? Well, chances are you actually have. The Galileo Eclipse package is shipped with Mylyn by default. In case you are using an earlier version of Eclipse, see the link in Resources.

Resources

HgEclipse versus EGit tutorial

If you are using the Eclipse IDE and one of the Mercurial or Git Distributed Version Control Systems, or just considering Mercurial or Git and find it difficult to choose, then you don't want to miss it, friend.

Ekke (pictured in the right) is publishing a series of blog posts, kind of comparing HgEclipse (Eclipse plugin for Mercurial) to Egit (Eclipse plugin for Git). No doubt, this is a hot topic. There is godzillions of Mercurial vs Git comparisons available on the web. What makes this one particularly interesting, though, is the focus on Eclipse and the pragmatic approach. No fluff, just stuff.

I want to learn more on using Mercurial and Git with Eclipse

In case you are looking for more information on the same subject, we've just created a HgEclipse Tutorials page on JavaForge to maintain all relevant links, videos, whatever. Have a something to add? Please go ahead!