Menu

Tree [r38] /
 History

HTTPS access


File Date Author Commit
 AddIn 2009-10-29 adamhearn [r32] 2888697 - Process tree selections before active...
 NSIS Installer 2009-12-10 ofels [r38]
 Properties 2009-10-26 ofels [r28] Adapted copyrights, names and versions
 References 2009-10-21 adamhearn [r16] AddIn developed for EA 7.x to support EA Protoc...
 Utility 2009-10-21 adamhearn [r16] AddIn developed for EA 7.x to support EA Protoc...
 doc 2009-10-28 ofels [r31] Replaced .doc file by PDF as user documentation
 App.config 2009-10-29 ofels [r36] Made a template string instead of a real one
 Binary.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 Canonic.EAPlugin.ProtocolHandler.csproj 2009-10-21 adamhearn [r15] App.config
 Canonic.EAPlugin.ProtocolHandler.sln 2009-10-08 ericcanonic [r1]
 CompressionUtil.cs 2009-10-08 ericcanonic [r2]
 Dictionary.txt 2009-10-08 ericcanonic [r1]
 EA.ProtocolHandler.sln 2009-10-21 adamhearn [r16] AddIn developed for EA 7.x to support EA Protoc...
 EA.ProtocolHandler.suo 2009-10-21 adamhearn [r16] AddIn developed for EA 7.x to support EA Protoc...
 EABroadcastEvents.cs 2009-10-08 ericcanonic [r2]
 EaInstanceInfo.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 EaInterop.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 EaUrl.cs 2009-10-08 ericcanonic [r2]
 Error.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 FrameworkLog.cs 2009-10-21 adamhearn [r15] App.config
 FrmAbout.Designer.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 FrmAbout.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 FrmAbout.resx 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 FrmError.Designer.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 FrmError.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 FrmError.resx 2009-10-08 ericcanonic [r1]
 FrmMakeDict.Designer.cs 2009-10-08 ericcanonic [r2]
 FrmMakeDict.cs 2009-10-08 ericcanonic [r2]
 FrmMakeDict.resx 2009-10-08 ericcanonic [r1]
 FrmUrl.Designer.cs 2009-10-08 ericcanonic [r2]
 FrmUrl.cs 2009-10-08 ericcanonic [r2]
 FrmUrl.resx 2009-10-08 ericcanonic [r1]
 IPlugin.cs 2009-10-08 ericcanonic [r2]
 MenuEntry.cs 2009-10-08 ericcanonic [r2]
 Plugin.cs 2009-10-08 ericcanonic [r2]
 Program.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 README.txt 2009-10-20 ofels [r14] Changes to reflect the current state.
 RotEntry.cs 2009-10-08 ericcanonic [r2]
 RunningObjectTable.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 SoftwareInfo.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 UrlFormatException.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 UrlProcessingException.cs 2009-10-29 ofels [r35] Hello EA.Plugin.ProtocolHandler namespace
 Util.cs 2009-10-08 ericcanonic [r2]

Read Me

EEEEE   A           //  //  
E     AA AA  ::    //  //
EEE   A   A       //  //
E     AAAAA  ::  //  //
EEEEE A   A     //  //

This project was initiated by Canonic Corp to provide a protocol handler (ea://) to link 
web pages to resources in Enterprise Architect® (EA) repositories.  The original code was
in use in limited beta form, however it has been modified to remove some code that Canonic
did not want to open source.

Enterprise Architect is a registered Trademark of Sparx Systems Ltd.

STATUS: Useful deployment can be made.

===============
Getting Started
===============

The original contributors have placed relatively extensive comments in the code to 
describe key pieces.  That's currently the best starting point.

Look for //TODO statements in the code to figure out where immediate work is needed.

================================
Reason behind current namespaces
================================

The original code, though intended for free distribution, linked to a number of proprietary
Canonic DLL's.  Required code bits have been removed from those DLLs and are provided
under the project's Open Source license.  To date, namespaces have not been changed to
reflect that reorganization.

====================
Project dependencies
====================

Interop.EA.dll
Provided by Sparx Systems as part of the Enterprise Architect product.

ICSharpCode.SharpZipLib.dll
http://www.icsharpcode.net/OpenSource/SharpZipLib/
Used to compress certain information contained in the URL

GlassButton.dll
http://www.codeproject.com/KB/buttons/glassbutton.aspx
Used to provide a visually more appealing version of a WinForms button.

=========
Installer
=========

NSIS Installer code has been added to the source tree but probably needs some testing and
fixing.  See the XML Doc comment in Program.cs to understand installation/registration issues.
One specific problem with the installer is that it references Canonic DLL's whose required 
source code has been merged into this project.

Status (2009-10-15): Fixed

==================
Connection Strings
==================

This code works with both a fully qualified connection string (including password, etc).
The connection string is encrypted.  However, anyone with access to this source code can
easily decrypt the connection string.  A means of providing a site-managed key would reduce
this weakness considerably.  The key could be distributed in a configuration file, compiled
into the executable, or... open to suggestions.  

I recall also providing support for EA's pre-encrypted connection strings, though that would
need to be tested again. 

File-based repositories should also work, though they would need to be referened either by 
an UNC name available to all users, or all users would have to map the same network drive
(very error prone in anything but small organizations).

Status (2009-10-15): Added preconfigured connection strings in the app configuration to ease connection process.

=======
License
=======

/*
   Copyright 2009 Canonic Corp

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 */