Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
DominoDefrag - How to build a successful OpenNTF project (AusLUG 2012)
1. AusLUG2012
DominoDefrag - How to build a
successful OpenNTF project
Andrew Luder | Director | NotesTools Pty Ltd
http://notestools.com.au
Meet.Share.Learn
29th & 30th March, Melbourne, Victoria, Australia
2. AusLUG2011
AusLUG2012
Agenda
•
About Me
•
About DominoDefrag
•
OpenNTF Initial Concepts
•
Project Creation
•
Project Update
•
Catalog
•
Project Maintenance
•
Project Feedback
•
Staying Afloat
•
Building Business
•
OpenNTF Involvement
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
3. AusLUG2011
AusLUG2012
About Me
•
Started my business NotesTools Pty Ltd two years ago initially providing
formal business support to DominoDefrag. Have expanded business to
provide wider range of products (e.g. DominoClusterMate) and services.
•
IBM R8.5 Certified Application Developer with over 15 years experience
in providing Lotus Domino/Notes/Sametime infrastructure and
application development services to Australian government departments
- primarily Department of Defence. Currently working on a R853
application upgrade project at the Therapeutic Goods Administration
(TGA) .
•
Many years experience in providing open source solutions such as
"DominoDefrag“ (2009) and "R5 Database Manager“ (2004) to the
Lotus Notes community. I was given public recognition in May 2010 with
"DominoDefrag" honoured by OpenNTF as project of the month,
presented at Lotusphere 2011 in Orlando and is still a featured project.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
4. AusLUG2011
AusLUG2012
About DominoDefrag
•
DominoDefrag v3.5 is an open source solution comprising of a R853+ C
API Lotus Domino server task (DominoDefrag.exe) and a R853+ Lotus
Domino server XPages mobile database called the DominoDefrag
Administrator (DominoDefragAdmin.nsf relies on the extension library
from OpenNTF). See http://notestools.com.au/DominoDefragAdmin.nsf
•
The server task uses "contig.exe" (v1.6) to defrag Domino databases on
all Windows server 2003 and 2008 versions (32bit and 64bit) and will
also defrag a full-text index associated with a Notes database and the
Domino server’s transaction log and DAOS files. When
DominoDefrag_EnterpriseSupport=1 (on), the output is recorded to CSV
files and sent to the DominoDefrag Administrator for processing
attached to a summary.
•
DominoDefrag has the added functionality of being able to compact and
add space to a database prior to defragging and supports multi-
processing (can load multiple times to run concurrently) and use of an
indirect file (.ind) to have the same compact batch functionality.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
5. AusLUG2011
AusLUG2012
Initial Concepts - OpenNTF Mission
•
The Mission of OpenNTF is to support the open source projects hosted
at OpenNTF.Org. OpenNTF provides the framework to develop open
source applications which may be freely distributed.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
8. AusLUG2011
AusLUG2012
Initial Concepts - OpenNTF Devoted To
•
“OpenNTF is devoted to getting groups of
organizations and individuals all over the world to
collaborate on IBM Lotus Notes/Domino
applications and release them as open source”
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
9. AusLUG2011
AusLUG2012
Initial Concepts – OpenNTF Value
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
10. AusLUG2011
AusLUG2012
Initial Concepts – Becoming a Contributor
•
Contributors form the backbone of OpenNTF. They develop and
manage project and code snippet activities. Any Contributor may apply
to join an ongoing Project by sending a request to the Project Lead; or
initiate a Project or Code Snippet.
•
To contribute to a project or code snippet activity:
Create an OpenNTF user account.
Complete either an Individual Contributor License Agreement
(“ICLA”) or Corporate Contributor License Agreement (“CCLA”) and
then send an email with scanned hardcopy to the IP-Manager
•
IBM Champion Declan Lynch contributes to Blogsphere V4, fileSendr,
iWatch X, jQuery Extension Library, Signature Capture Control, XPages
Sliding Login Custom Control, XPages System Alerts, xTalk Discussion
Forums...... (stop now - this guy's a machine!)
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
11. AusLUG2011
AusLUG2012
Initial Concepts – Becoming a Committer
•
Committers are the OpenNTF Release Managers. They along wit the
IP-Manager handle the release process of applications into the
Application Catalog described by the IP Policy.
•
To become a Committer you must:
First be a Contributor.
Apply to the IP-Manager who will then organise an electronic vote of
the existing Committers to accept or reject your application.
Alternatively, the Steering Committee may appoint Committers.
IBM Champion Declan Lynch was a committer for DominoDefrag
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
12. AusLUG2011
AusLUG2012
Initial Concepts – Intellectual Property Model
•
Note: Peter Tanner the OpenNTF IP Manager posted a blog called the
"Comparisons between the Apache (permissive) and GPL (restrictive)
Licensing Paradigms" recently. GPL=GNU General Public License
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
13. AusLUG2011
AusLUG2012
Initial Concepts - Catalog
•
The Catalog consists of committed release ”Rich Client Components”
(drag and drop), “Reusable Controls” and “Projects” applications. There
is an Apache and GPL version of it.
•
Uncommitted release applications have to be scanned by the IP-
Manager and Committer(s) before being committed into the Catalog.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
14. AusLUG2011
AusLUG2012
Initial Concepts - Drag and Drop Components
•
Example: ISW’s WildFire! which is a Drop and Drop component for the
Lotus Notes 8.5 sidebar (used to update ones social network status)
won the Lotusphere 2011 Lotus Awards Open Source category.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
15. AusLUG2011
AusLUG2012
Initial Concepts - Reusable Controls
•
Example: DominoDefrag uses the Java Charts reusable control in its
XPages Administrator database.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
16. AusLUG2011
AusLUG2012
Initial Concepts – Projects
•
Example: DominoDefrag was the May 2010 OpenNTF Featured Project. The
Domino server THUNDERSTRUCK from domain ACDC being defragged.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
17. AusLUG2011
AusLUG2012
Initial Concepts - Project Management
Interface
•
The Project Management Interface manages the process of development
through to uncommitted release of any "Rich Client Components" (drag and
drop), "Reusable Controls" and Projects. This is separate from the Catalog
which stores the latest application committed release.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
18. AusLUG2011
AusLUG2012
Initial Concepts – XSnippets Code Bin
•
The XSnippets Code Bin allows approved OpenNTF contributors who have
signed CLAs (contributor license agreements) to submit code snippets for
community use.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
19. AusLUG2011
AusLUG2012
Initial Concepts – Creating a XSnippet
•
Simply click “Create XSnippet”, insert the code, provide a meaningful Name,
select the Notes language, Preview, read the “Terms of Use” and then Save.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
20. AusLUG2011
AusLUG2012
Project Creation – Considerations
•
While any Contributor may create new Projects, it is recommended that
the Project plan first be posted to the OpenNTF Forum to canvas the
opinions of other users. Even if the plan is just a simply idea to start
with!
•
If there is another similar project already on OpenNTF, consider teaming
up with its project member(s) so that you can get more done in less
time.
•
By creating a project, you agree to the IP Policy and to provide the full
source code for the application.
•
Check the licensing compatibility of any third party components you
want to use with the IP-Manager and recognise use and any licensing
differences in distribution Notice file.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
21. AusLUG2011
AusLUG2012
Project Creation – Considerations Cont.…
•
The project’s distribution file should contain full source files, all target platform
binaries, release notes, licensing files and any other documentation that will
ensure the usage of the product is compliant and successful.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
22. AusLUG2011
AusLUG2012
Project Creation - DominoDefrag Goals
•
Use free Windows Sysinternals tool called "contig.exe" on a Windows
Domino server to defragment NSFs while the server was running to
increase performance and not corrupt databases.
•
Share and advance C/C++ Notes API server add-in code and build
documentation with community as know-how scarce and limited to a
few.
•
Learn how to integrate a server add-in with new R85x technologies such
as XPages, custom controls, extension library controls and SSJS.
•
Build business to provide formal support to open source code.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
23. AusLUG2011
AusLUG2012
Project Creation – Find and Create Projects
•
Login, simply click on the Projects tab and then click on the “Creating new
projects” link.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
24. AusLUG2011
AusLUG2012
Project Creation – Create New Project
•
Put the name of your project simply click the Create button.
•
Once OpenNTF has accepted in effect the “project proposal”, notification is
sent the new Project Owner and the Project is added to the owner’s Project
Meet.Share.Learn
list. 29th & 30th March, Melbourne, Victoria, Australia
25. AusLUG2011
AusLUG2012
Project Update – Complete Overview
•
Complete the Overview document fields and then click Save.
•
Talk more about Donate button soon….
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
26. AusLUG2011
AusLUG2012
Project Update – Create Release
•
Click “Downloads / Releases” and then click “Create Release”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
27. AusLUG2011
AusLUG2012
Project Update – Incubator Release (Code)
•
Complete Release fields, but leave the Status at “Do not release” and then
click the Save button. This allows a final peer review of the distribution code
by only other Project Contributors who have been approved by the Project
Owner.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
28. AusLUG2011
AusLUG2012
Project Update – Incubator Release (License)
•
This allows a final peer review of the distribution file by (only happens on
first release and not subsequent) by the IP-Manager and assigned
Committer who apply the following criteria:
Those contributing to the Project are covered by ICLAs or CCLAs;
The license under which the contribution is to be made available is
compatible with either OpenNTF’s Apache or GPL licensing models;
The licensing and Notice information is clearly noted;
The code was entirely written by the Contributor(s) or, if there is
material from third parties, that the Contributor has written permission
or a license to include such material; and
The Project Lead has the IP Manager's approval for any encryption
code that is in the Project.
•
There is no need for subsequent Releases to go through the Incubator
stage – as long as all the five above conditions continue to be met. The
now Uncommitted Release can now be accessed by everyone.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
29. AusLUG2011
AusLUG2012
Project Update – Uncommitted Release
•
Change the Status field to “Released” and then click the Save button to be
downloaded and used by anyone through the OpenNTF website. On request
OpenNTF can then perform an IP review of the Uncommitted Release’s
distribution file for commitment into the Catalog (discussed later).
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
30. AusLUG2011
AusLUG2012
Project Update – Create Screenshot
•
Click “Screenshots” and then click “Create Screenshot”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
31. AusLUG2011
AusLUG2012
Project Update – Complete Screenshots
•
Complete Screenshot fields and then click the Save button.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
32. AusLUG2011
AusLUG2012
Project Update –Screenshots Displayed
•
Use the Navigator buttons to scroll through the Screenshots.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
33. AusLUG2011
AusLUG2012
Project Update – Create Documentation
•
Click “Documentation” and then click “Create Documentation”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
35. AusLUG2011
AusLUG2012
Project Update – News
•
Create a News item and users subscribed to the project will receive that and
other projects updates such as new Releases, Screenshots and
Documentation. Users click on “Subscribe to Project (RSS)” to subscribe.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
36. AusLUG2011
AusLUG2012
Project Update – Subscribe to Project
•
Accept defaults and click “Subscribe Now”.
•
Accept defaults in the Live Bookmark prompt box and click Subscribe.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
37. AusLUG2011
AusLUG2012
Project Update – RSS Bookmark Feed
•
See “OpenNTF.DominoDefrag” RSS feed from Firefox Bookmarks.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
38. AusLUG2011
AusLUG2012
Project Update – Ready To Go!
•
Click Overview and then Download latest release to obtain the of
uncommitted “Project Release” distribution file. Also the latest matching
Screenshots and Documentation should be available too.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
39. AusLUG2011
AusLUG2012
Catalog – Process
•
To initiate a Catalog Release, simply send an email to the IP-Manager
requesting it. The IP-Manager and a Committer will then carry out an
analysis of the uncommitted Release distribution file. Issues that are
found will be posted by the IP-Manager to a Project area accessible to
the Project Lead, the Project Contributors and the Project Observers.
•
The items analysed during the IP Review :
Verification that Contributors are covered by ICLAs or CCLAs;
All 3rd party code accounted for in Notice files;
Licenses are compatible;
Documentation completed; and
Code appears to run properly.
Committer will then update the Catalog with the distribution file and flag
in the project’s Overview document.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
40. AusLUG2011
AusLUG2012
Catalog – Third Party Components
•
DominoDefrag v3.4 started using Naveen Maurya's Java Charts custom
control v1.2 to perform graphical reporting. Acknowledgement of the
different GPL licensing for the third party components is required using a
Notice file similar to the “Notice.txt” in the DominoDefrag distribution file.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
41. AusLUG2011
AusLUG2012
Catalog – Committed Release
•
DominoDefrag v3.5 updated by the Committer into the GPL Catalog.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
42. AusLUG2011
AusLUG2012
Project Maintenance - Create Feature Request
•
Click “Feature Requests” and then click “Create Feature Request”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
43. AusLUG2011
AusLUG2012
Project Maintenance – Processing Request
•
The Project Owner can then assess the feature request and then provide
feedback and change the status from “Submitted” to “Investigating”,
“Rejected” or “Added to app” and then click Save. Contributor notification then
occurs.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
44. AusLUG2011
AusLUG2012
Project Maintenance - Create Defect
•
Click “Defects” and then click “Create Defect”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
45. AusLUG2011
AusLUG2012
Project Maintenance – Processing Defect
•
The Project Owner can then assess the defect report and then provide
feedback and change the status from “Submitted” to “Investigating”,
“Rejected” or “Fixed” and then click Save. Contributor notification then
occurs.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
46. AusLUG2011
AusLUG2012
Project Feedback – Create Discussion
•
Click “Discussions” and then click “Create Discussion”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
47. AusLUG2011
AusLUG2012
Project Feedback – Processing Discussion
•
Discussions can be the main driver for change. This discussion with Ulrich
Krause lead to DominoDefrag being rewritten to use the C API (changed from
C++ API).
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
48. AusLUG2011
AusLUG2012
Project Feedback – Reviews and Ratings
•
Click “Reviews” and then click “Create Review”.
•
Click “Rate Project” and give 1 to 5 stars – can do only once for each project
and owners can’t rate their projects from memory
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
49. AusLUG2011
AusLUG2012
Project Feedback – Outside OpenNTF
•
DominoDefrag has received very positive feedback from bloggers and
presenters like Albert Buendia and Ulrich Krause presenting it at many Lotus
User Groups such as the Spanish Lotus User Group (SLUG) .
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
50. AusLUG2011
AusLUG2012
Staying Afloat– PayPal Donation Button
•
Create PayPal account and easy to get HTML generated for the Donate
button.
•
Edit the Overview document, paste the PayPal HTML code in and then click
the Save button.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
51. AusLUG2011
AusLUG2012
Staying Afloat - Providing Formal Support
•
For example, “DominoDefrag Enterprise Edition” provides formal support for
“DominoDefrag”.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
52. AusLUG2011
AusLUG2012
Building Business - Leveraging into similar products
•
For example, DominoDefrag v3.4 introduced a subset of the
DominoClusterMate functionality.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
53. AusLUG2011
AusLUG2012
Building Business- Leveraging into different Products
•
For example, use DominoDefrag success to leverage into completely
different products like ExtractText.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
54. AusLUG2011
AusLUG2012
Building Business - Lotus Greenhouse
•
For example, publishing DominoDefrag in the "IBM Lotus and WebSphere
Portal Business Solutions Catalog" @ the Lotus Greenhouse site.
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
55. AusLUG2011
AusLUG2012
Building Business – Global Solutions Directory
•
For example, registered NotesTools Pty Ltd in the IBM PartnerWorld program
and then got DominoDefrag published to the Global Solutions Directory
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
56. AusLUG2011
AusLUG2012
OpenNTF Involvement– 5 Ways to Participate
•
There is also competitions to encourage participation such as the XPages
Development Contest @ http://xpages.info
Meet.Share.Learn 29th & 30th March, Melbourne, Victoria, Australia
DominoDefrag - How to build a successful OpenNTF project Andrew Luder | Director | NotesTools Pty Ltd http://notestools.com.au
About Me About DominoDefrag OpenNTF Initial Concepts Project Creation Project Update Catalog Project Maintenance Project Feedback Staying Afloat Building Business OpenNTF Involvement
Started my business NotesTools Pty Ltd two years ago initially providing formal business support to DominoDefrag. Have expanded business to provide wider range of products (e.g. DominoClusterMate) and services. IBM R8.5 Certified Application Developer with over 15 years experience in providing Lotus Domino/Notes/Sametime infrastructure and application development services to Australian government departments - primarily Department of Defence. Currently working on a R853 application upgrade project at the Therapeutic Goods Administration (TGA) . Many years experience in providing open source solutions such as "DominoDefrag“ (2009) and "R5 Database Manager“ (2004) to the Lotus Notes community. I was given public recognition in May 2010 with "DominoDefrag" honoured by OpenNTF as project of the month, presented at Lotusphere 2011 in Orlando and is still a featured project
DominoDefrag v3.5 is an open source solution comprising of a R853+ C API Lotus Domino server task (DominoDefrag.exe) and a R853+ Lotus Domino server XPages mobile database called the DominoDefrag Administrator (DominoDefragAdmin.nsf – relies on the extension library from OpenNTF). See http://notestools.com.au/DominoDefragAdmin.nsf The server task uses "contig.exe" (v1.6) to defrag Domino databases on all Windows server 2003 and 2008 versions (32bit and 64bit) and will also defrag a full-text index associated with a Notes database and the Domino server’s transaction log and DAOS files. When DominoDefrag_EnterpriseSupport=1 (on), the output is recorded to CSV files and sent to the DominoDefrag Administrator for processing attached to a summary email. DominoDefrag has the added functionality of being able to compact a database prior to defragging and supports multi-processing (can load multiple times to run concurrently) and use of an indirect file (.ind) to have the same compact batch functionality. Content source: DominoDefrag @ http://dominodefrag.openntf.org/
The Mission of OpenNTF is to support the open source projects hosted at OpenNTF.Org. OpenNTF provides the framework to develop open source applications which may Picture source: OpenNTF @ http://openntf.org/Internal/home.nsf
The OpenNTF Alliance is a loose cooperation of equal members with the common goal to provide open source applications based on Notes/Domino Similar to the OpenAjax.Org model - as little bureaucracy as possible, but as much structure and as many rules as necessary to make code re-usable and the organization efficient Members are expected to contribute something (e.g. code, in kind donations, financial contributions, etc.) Steering Committee defines strategy and direction Technical Committee implements new services and web site features Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf
Enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source Providing a web site for the community so that open source applications may be freely distributed, using widely accepted licensing terms Increasing the quality and quantity of templates, applications and samples that can be shared by the community Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf
Access to a global community of like minded Lotus developers Code samples for education purposes for new and old technologies Base projects and templates to reuse/harvest/enhance for custom applications Access to base Notes/Domino templates with some of them enhanced from shipping versions A community of 'testers' for your projects Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf
Contributors form the backbone of OpenNTF. They develop and manage project and code snippet activities. Any Contributor may apply to join an ongoing Project by sending a request to the Project Lead; or initiate a Project or Code Snippet. To contribute to a project or code snippet activity: Create an OpenNTF user account. Complete either an Individual Contributor License Agreement (“ICLA”) or Corporate Contributor License Agreement (“CCLA”) and then send an email with scanned hardcopy to the IP Manager Content source: OpenNTF Contribution Process @ http://openntf.org/Internal/home.nsf/dx/Contribution%20Process
Committers are the OpenNTF Release Managers. They along wit the IP-Manager handle the release process of applications into the Application Catalog described by the IP Policy. To become a Committer you must: First be a Contributor. Apply to the IP-Manager who will then organise an electronic vote of the existing Committers to accept or reject your application. Alternatively, the Steering Committee may appoint Committers. Content source: OpenNTF Contribution Process @ http://openntf.org/Internal/home.nsf/dx/Contribution%20Process
Outbound: Two models Apache license (version 2) Maximizes the usefulness of the code to consumers No obligation to donate back to the community GPL licenses Inbound contribution process Rights for perpetual, worldwide, non-exclusive, no-charge, royalty-free, patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the work IP is owned by contributor Contributors sign ICLAs (individual contributor license agreements) or CCLAs (corporate contributor license agreements) The OpenNTF IP manager helps with licence questions and clears project releases for the catalogs OpenNTF committers are a small subset of all contributors who verify project releases before they are added to the catalogs Content source: OpenNTF Contribution Process @ http://openntf.org/Internal/home.nsf/dx/Contribution%20Process Note: Peter Tanner the OpenNTF IP Manager posted a blog called the "Comparisons between the Apache (permissive) and GPL (restrictive) Licensing Paradigms" recently. GPL=GNU General Public License Content source: http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-8SFA26`
The Catalog consists of committed release ”Rich Client Components” (drag and drop), “Reusable Controls” and “Projects” applications. There is an Apache and GPL version of it. Uncommitted release applications have to be scanned by the IP-Manager and Committer(s) before being committed into the Catalog. Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf
These projects can be installed by end users by drag and drop into Notes Examples Recent Contacts Widget for Twitter Inking for IBM Lotus Sametime Attachment Manager Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf Example: ISW’s WildFire! which is a Drop and Drop component for the Lotus Notes 8.5 sidebar (used to update ones social network status) won the Lotusphere 2011 Lotus Awards Open Source category.
Reusable controls can be easily reused by application developers Examples XPages Mobile Controls XPages Tree Control XPages Voting Control XPages Business Card Controls Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf Example: DominoDefrag uses the Java Charts reusable control in its XPages Administrator database.
Defragmentation tool for Lotus Domino Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf Example: DominoDefrag was the May 2010 OpenNTF Featured Project. The Domino server THUNDERSTRUCK from domain ACDC being defragged.
The Project Management Interface manages the process of development through to uncommitted release of any "Rich Client Components" (drag and drop), "Reusable Controls" and Projects. This is separate from the Catalog which stores the latest application committed release. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
The XSnippets Code Bin allows approved OpenNTF contributors who have signed CLAs (contributor license agreements) to submit code snippets for community use Picture source: XSnippets @ http://openntf.org/XSnippets.nsf/home.xsp
Simply click “Create XSnippet”, insert the code, provide a meaningful Name, select the Notes language, Preview, read the “Terms of Use” and then Save. Picture source: XSnippets @ http://openntf.org/XSnippets.nsf/home.xsp
While any Contributor may create new Projects, it is recommended that the Project plan first be posted to the OpenNTF Forum to canvas the opinions of other users. Even if the plan is just a simply idea to start with! If there is another similar project already on OpenNTF, consider teaming up with its project member(s) so that you can get more done in less time. By creating a project, you agree to the IP Policy and to provide the full source code for the application. Content source: OpenNTF Contribution Process @ http://openntf.org/Internal/home.nsf/dx/Contribution%20Process Check the licensing compatibility of any third party components you want to use with the IP-Manager and recognise use and any licensing differences in distribution Notice file.
The project’s distribution file should contain full source files, all target platform binaries, release notes, licensing files and any other documentation that will ensure the usage of the product is compliant and successful. Picture source: DominoDefrag v3.5 distribution file.
Use free Windows Sysinternals tool called "contig.exe" on a Windows Domino server to defragment NSFs while the server was running to increase performance and not corrupt databases. Share and advance C/C++ Notes API server add-in code and build documentation with community as know-how scarce and limited to a few. Learn how to integrate a server add-in with new R85x technologies such as XPages, extension library controls, custom controls and SSJS. Build business to provide formal support to open source code.
Login, simply click on the Projects tab and then click on the “Creating new projects” link. Picture source: OpenNTF Projects @ http://www.openntf.org/Internal/home.nsf/projects.xsp
Put the name of your project simply click the Create button. Once OpenNTF has accepted in effect the “project proposal”, notification is sent the new Project Owner and the Project is added to the owner’s Project list. Picture source: OpenNTF Projects @ http://www.openntf.org/Internal/home.nsf/projects.xsp
Complete the Overview document fields and then click Save. Talk more about Donate button soon…. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click “Downloads / Releases” and then click “Create Release”. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Complete Release fields, but leave the Status at “Do not release” and then click the Save button. This allows a final peer review of the distribution code by only other Project Contributors who have been approved by the Project Owner. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
This allows a final peer review of the distribution file by (only happens on first release and not subsequent) by the IP-Manager and assigned Committer who apply the following criteria: Those contributing to the Project are covered by ICLAs or CCLAs; The license under which the contribution is to be made available is compatible with either OpenNTF’s Apache or GPL licensing models; The licensing and Notice information is clearly noted; The code was entirely written by the Contributor(s) or, if there is material from third parties, that the Contributor has written permission or a license to include such material; and The Project Lead has the IP Manager's approval for any encryption code that is in the Project. There is no need for subsequent Releases to go through the Incubator stage – as long as all the five above conditions continue to be met. The now Uncommitted Release can now be accessed by everyone. Content source: OpenNTF Contribution Process @ http://openntf.org/Internal/home.nsf/dx/Contribution%20Process
Change the Status field to “Released” and then click the Save button to be downloaded and used by anyone through the OpenNTF website. On request OpenNTF can then perform an IP review of the Uncommitted Release’s distribution file for commitment into the Catalog (discussed later). Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click “Screenshots” and then click “Create Screenshot”. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Complete Screenshot fields and then click the Save button. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Use the Navigator buttons to scroll through the Screenshots. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click “Documentation” and then click “Create Documentation”. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Create a News item and users subscribed to the project will receive that and other projects updates such as new Releases, Screenshots and Documentation. Users click on “Subscribe to Project (RSS)” to subscribe. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Accept defaults and click “Subscribe Now”. Accept defaults in the Live Bookmark prompt box and click Subscribe. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
See “OpenNTF.DominoDefrag” RSS feed from Firefox Bookmarks. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click Overview and then Download latest release to obtain the of uncommitted “Project Release” distribution file. Also the latest matching Screenshots and Documentation should be available too. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
To initiate a Catalog Release, simply send an email to the IP-Manager requesting it. The IP-Manager and a Committer will then carry out an analysis of the uncommitted Release distribution file. Issues that are found will be posted by the IP-Manager to a Project area accessible to the Project Lead, the Project Contributors and the Project Observers. The items analysed during the IP Review : Verification that Contributors are covered by ICLAs or CCLAs; All 3rd party code accounted for in Notice files; Licenses are compatible; Documentation completed; and Code appears to run properly. Committer will then update the Catalog with the distribution file and flag in the project’s Overview document. Content source: OpenNTF Contribution Process @ http://openntf.org/Internal/home.nsf/dx/Contribution%20Process
DominoDefrag v3.4 started using Naveen Maurya's Java Charts custom control v1.2 to perform graphical reporting. Acknowledgement of the different GPL licensing for the third party components is required using a Notice file similar to the “Notice.txt” in the DominoDefrag distribution file. Picture source: DominoDefrag v3.5 distribution file
DominoDefrag v3.5 updated by the Committer into the GPL Catalog. Picture source: GPL Catalog @ http://www.openntf.org/catalogs/gplcat.nsf/Projects.xsp
Click “Feature Requests” and then click “Create Feature Request”. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
The Project Owner can then assess the feature request and then provide feedback and change the status from “Submitted” to “Investigating”, “Rejected” or “Added to app” and then click Save. Contributor notification then occurs. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click “Defects” and then click “Create Defect”. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
The Project Owner can then assess the defect report and then provide feedback and change the status from “Submitted” to “Investigating”, “Rejected” or “Fixed” and then click Save. Contributor notification then occurs. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click “Discussions” and then click “Create Discussion”. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Discussions can be the main driver for change. This discussion with Ulrich Krause lead to DominoDefrag being rewritten to use the C API (changed from C++ API). Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
Click “Reviews” and then click “Create Review”. Click “Rate Project” and give 1 to 5 stars – can do only once for each project and owners can’t rate their own projects from memory Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
DominoDefrag has received very positive feedback from bloggers and presenters like Albert Buendia and Ulrich Krause presenting it at many Lotus User Groups such as the Spanish Lotus User Group (SLUG) Picture source: http://www.slug.es/blogslug.nsf/dx/defragging-domino-servers-v12.pdf/$file/defragging-domino-servers-v12.pdf
Create PayPal account and easy to get HTML generated for the Donate button. Edit the Overview document, paste the PayPal HTML code in and then click the Save button. Picture source: DominoDefrag @ http://dominodefrag.openntf.org/
For example, “DominoDefrag Enterprise Edition” provides formal support for “DominoDefrag”. Picture source: DominoDefrag Enterprise Edition @ https://notestools.com.au/notestools.nsf/DominoDefragEnterpriseEdition.xsp
For example, DominoDefrag v3.4 introduced a subset of the DominoClusterMate functionality. Picture source: DominoClusterMate @ https://notestools.com.au/notestools.nsf/DominoClusterMate.xsp
For example, use DominoDefrag success to leverage into completely different products like ExtractText. Picture source: ExtractText @ https://notestools.com.au/notestools.nsf/ExtractText.xsp
For example, publishing DominoDefrag in the "IBM Lotus and WebSphere Portal Business Solutions Catalog" @ the Lotus Greenhouse site. Picture source: DominoDefrag @ https://greenhouse.lotus.com
For example, registered NotesTools Pty Ltd in the IBM PartnerWorld program and then got DominoDefrag published to the “Global Solutions Directory”. Picture source: DominoDefrag @ http://www-304.ibm.com/partnerworld/gsd/solutiondetails.do?solution=46143
OpenNTF success depends on contributions from the community Contribute code Provide feedback in the project area and the blog Comments in blog Defects Requests Reviews and ratings Discussions Send feedback via email Help the Technical Committee Use code from OpenNTF Become a member [Note that all types of participation require an OpenNTF user account] Picture source: OpenNTF Overview Presentation Sep 2010 @ http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf Note: There are also the competitions to encourage participation such as the XPages Development Contest @ http://xpages.info
Blog Web: http://www.openntf.org/blog Feed: http://blog.openntf.org/blogs/openntf.nsf/stories.xml Mobile: http://openntf.org Twitter: http://twitter.com/openntf YouTube: http://www.youtube.com/openntf Widget: http://www.openntf.org/project/OpenNTF Widget Projects Web: http://www.openntf.org/project/[ProjectName ] e.g. http://www.openntf.org/project/XPages Mobile Controls Feed: http://www.openntf.org/Projects/pmt.nsf/rss.xml?OpenView&restricttocategory=[ProjectName]&count=100 e.g. http://www.openntf.org/Projects/pmt.nsf/rss.xml?OpenView&restricttocategory=XPages%20Mobile%20Controls&count=100 Source: OpenNTF Overview Presentation @ Sep 2010 http://openntf.org/Internal/home.nsf/dx/Logos/$file/OpenNTF%20Overview%20100914.pdf