ODMA UCB: Stabilization Activity

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ODMA UCB: Stabilization Activity

Dennis E. Hamilton
Re: http://ucb.openoffice.org/servlets/ReadMsg?list=dev&msgNo=326

Funked and I have begun to look at what it would take to bring the ODMA
Content Provider (OCP) to a stable point of operability.  

I am operating on the assumption that the current OCP is not operational and
it will have to be rebuilt and repaired.  One obvious step is to examine a
working UCP and understand how operation appears at the OpenOffice UI.  It
is also desirable to have a trivial path working so that we can see
end-to-end connection from the OpenOffice UI through to an attempt to obtain
access to the ODMA Connection Manager DLL and for connection of an
ODMA-compliant DMS.

For the two of us, and anyone else who takes an interest, I have sketched
what I hope to be a trustworthy progression. Review by those who have worked
on UCPs for OpenOffice would be very welcome.

 - Dennis

Dennis E. Hamilton
------------------
AIIM DMware Technical Coordinator
mailto:[hidden email] | gsm:+1-206.779.9430 http://DMware.info
http://ODMA.info/ http://TROSTing.org 


SUGGESTED STAGING FOR CREATING A STABLE, EASILY-INSTALLED ODMA UCP


INITIAL STEPS:

   1. Identify all of the prerequisites and materials that need to be
collected.
   2. Have an OO.o setup and developer tools on Microsoft Windows (the only
platform that ODMA exists on).
   3. Confirm operation of any content provider whatsoever and see how it is
installed and enabled (WebDAV is probably an useful one).
   4. Establish a test environment and procedures for building up the
integration and confirmation testing of the OCP.
   5. Build the trial OCP (ODMA Content Provider) successfully.  It may be
necessary to start with a stub that fails most operations, until tests of
the basic connection can be confirmed.
   6. Get the OCP to be registered with OO.o, be enabled, and connecting to
the ODMA Connection Manager (even if it can't do anything useful yet).  
   7. Based on having a working execution path, figure out how to implement
the rest of what the UCB requires in order to deliver access to an ODMA DMS
integration.

WORKING ARRANGEMENT:

The following are needed for collaboration.
   1. CVS connection for access to the OO.o source tree.
   2. Work with the OO.o incidence reporting web system when bugtracking
becomes important.
   3. Use the ucb-dev distribution list for general information and
reporting of tests, available documentation and notes, etc.
   4. I'm not sure where intermediate results and new code can go.  I don't
have a place for them. (Actually, I do, but not where I can grant update
rights to others).  If the OO.o site does, or we can have access to a piece
of the CVS tree just for the OCP, that might work.  We can work that out
later.

WORKING TRANSPARENTLY:

   1. My preference is to work in public so that anyone else can contribute
and also could pick up the work or even apply it in developing/maintaining
other UCPs.  The ucb-dev list should be where the OCP Stabilization is
discussed.

   2. For technical exchanges that are deeply specific to the OCP and its
requirements, overall behavior, demonstration, and testing, we can also use
a list that I already have on SourceForge for the ActiveODMA project.  This
will not be an ActiveODMA project (ActiveODMA is BSD license only).  It
might be a better place for discussing the ODMA side of the integration and
where requirements and tests can be discussed that could involve the ODMA
community.  It is also where the use of the OCP can be documented in a way
that works for the ODMA community.

   3. I also think we should operate with test-driven-development
principles, so that the tests and demonstrations of functioning are
developed and posted along with the code as it progresses.  Anything we do
here will help others perform work of this kind in OO.o.  But mostly this is
the best way I know to have progressive victories until a stable final
result is pulled together.

   4. I am not sure where we can place code for others to be able to inspect
and confirm.  We may start out just passing Zip files back and forth.  I
have server space where they can be made available.

[ end ]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

ODMA UCB: Confirming ODMA Connection

Dennis E. Hamilton
I have been looking at how to flesh out a development scenario for
test-driven completion of the ODMA UCB.  I have come up with a milestone
that is the absolute minimum that has to work in an ODMA-aware application.
Once that point is achieved, other functionality can be verified.

FIRST INTEGRATION-CONFIRMATION MILESTONE
 
The first milestone for integration of an ODMA-aware desktop application
such as OpenOffice.org into an ODMA configuration is a basic end-to-end
test.  Once there is successful end-to-end communication, other features of
the application's integration can be tested.  Until there is even a minimal
end-to-end connection, there is little that external parties and tests can
do.  Here is what I choose as the minimal test for connection by any
ODMA-aware application:

THE CONNECTION CONFIRMATION PROCEDURE

1. The application is started up and is operating as it always does.

2. The user performs an operation that requires an ODMA DMS to be
considered, if there is one present.  (File | Open and File | Save As ...
are both likely candidates.)

3. The application silently detects that the ODMA Connection Manager
(ODMA32.dll for Win32 applications) is installed.

4. If the application finds the ODMA Connection Manager, it silently makes a
request to the ODMRegisterApp entry point, supplying its ODMA Application ID
(e.g., whatever 15-character name has been chosen for OpenOffice.org), the
version of ODMA that it requires (typically 100 for ODMA version 1.0), and a
place to return a handle for further communication.

5. If the ODMA Connection Manager does not find a default DMS that is
available for this application specifically, or as a global default for all
other ODMA-aware applications, it silently returns an ODM_E_NODMS ODMSTATUS
value.  IF THE ODMA 2.0 CONNECTION MANAGER HAS LOGGING ENABLED, the request,
the parameters, and the response are reported in the log file.

6. The ODMA-aware applications silently notices that no default ODMA DMS is
available and silently behaves as it always does in the absence of an ODMA
configuration.

This test is confirmed when OpenOffice.org operates as if there is no ODMA
but the ODMA Connection Manager logs the entry to ODMRegisterApp and records
the response that it provided on not having an available default DMS.  (The
current code fails this test.  No ODMA function entry occurs.)

MORE DETAILS

I have added a draft version for a detailed procedure on the ODMA
Interoperability Exchange site at
(http://ODMA.info/faq/2006/06/Q060601.htm).  The procedure is intended to be
detailed so that a non-developer can use it to confirm that an installed
ODMA-aware application is connecting to ODMA when it is present.  There are
many loose ends, but I believe the overall sketch is accurate.  

 - Dennis

Dennis E. Hamilton
------------------
AIIM DMware Technical Coordinator
mailto:[hidden email] | gsm:+1-206.779.9430
http://DMware.info http://ODMA.info/ http://TROSTing.org 


-----Original Message-----
http://ucb.openoffice.org/servlets/ReadMsg?list=dev&msgNo=327
From: Dennis E. Hamilton [mailto:[hidden email]]
Sent: Saturday, June 10, 2006 23:12
To: UCB Dev for OpenOffice
Subject: [ucb-dev] ODMA UCB: Stabilization Activity

[ ... ].

SUGGESTED STAGING FOR CREATING A STABLE, EASILY-INSTALLED ODMA UCP


INITIAL STEPS:

[ ... ]
   6. Get the OCP to be registered with OO.o, be enabled, and connecting to
the ODMA Connection Manager (even if it can't do anything useful yet).  
   7. Based on having a working execution path, figure out how to implement
the rest of what the UCB requires in order to deliver access to an ODMA DMS
integration.

[ ... ]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]