This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 160633 - org.eclipse.ecf.example.collab needs to be refactored into usable exemplary implementations
Summary: org.eclipse.ecf.example.collab needs to be refactored into usable exemplary i...
Status: RESOLVED FIXED
Alias: None
Product: ECF
Classification: RT
Component: ecf.core (show other bugs)
Version: 1.0.0 Release   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 2.0.0M4   Edit
Assignee: ecf.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-12 03:33 EDT by Remy Suen CLA
Modified: 2014-05-09 12:35 EDT (History)
1 user (show)

See Also:


Attachments
Workspace-level patch to modify org.eclipse.ecf.ui and org.eclipse.ecf.example.collab. (618.67 KB, patch)
2006-10-24 20:48 EDT, Remy Suen CLA
no flags Details | Diff
Zip file that contains org.eclipse.ecf.ui.im and org.eclipse.ui.im.services. (77.44 KB, application/octet-stream)
2006-10-24 20:53 EDT, Remy Suen CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2006-10-12 03:33:50 EDT
Per the discussion that's been going on the ecf-dev mailing list [1], major restructuring work is needed for the org.eclipse.ecf.example.collab plug-in.

Required actions that have been identified thus far include the abstraction of the provider IContainer connecting functionality and the definition of common UI components so that an Eclipse-based plug-in and RCP application that makes use of ECF providers can be deployed for users.

[1] http://dev.eclipse.org/mhonarc/lists/ecf-dev/msg00386.html
Comment 1 Remy Suen CLA 2006-10-24 20:48:17 EDT
Created attachment 52636 [details]
Workspace-level patch to modify org.eclipse.ecf.ui and org.eclipse.ecf.example.collab.

This patch will essentially do an "Organize Imports" on relevant files in addition to altering the collab UI to use the new ConnectionDialog that I rewrote/updated. Auto login is no longer included since I felt that saving passwords in plain text is a pretty large security leak. You have to move the default_provider_image.gif file from the icons folder in the collab plug-in to the ui plug-in to prevent an NPE when opening the dialog. No warnings are provided for missing usernames/passwords since I came to realize that you don't have to have a password for IRC. So only the connection ID must be filled in, otherwise the 'OK' button will be enabled.
Comment 2 Remy Suen CLA 2006-10-24 20:53:20 EDT
Created attachment 52637 [details]
Zip file that contains org.eclipse.ecf.ui.im and org.eclipse.ui.im.services.

The discovery stuff went to ui.services and the presence stuff went to ui.im. I noticed that the collab plug-in actually extends the DiscoveryView. But at the moment I also have the DiscoveryView being declared as a ViewPart extension within ui.services' plugin.xml file. I suppose the question is whether DiscoveryView is actually supposed to be subclassed by clients or not, or maybe it should be abstract?

So to execute this on your workspace:
1. Unzip projects.zip (this attachment) into your workspace
2. Create the org.eclipse.ecf.ui.im and org.eclipse.ecf.ui.services projects within Eclipse.
3. Apply attachment #52636 [details] to your workspace to modify org.eclipse.ecf.ui and org.eclipse.ecf.example.collab.
4. Cut/Copy default_provider_image.gif from the collab plug-in's 'icons' folder to the ui plug-in's 'icons' folder.

Other example plug-ins / RCP applications will probably be affected by this change, but a run of "Organize Imports" after adding ui.im and/or ui.services to their MANIFEST.MF dependencies should fix the problem.
Comment 3 Scott Lewis CLA 2007-05-16 11:04:22 EDT
Refactoring started.  Moved many classes into internal packages.  TBC.
Comment 4 Scott Lewis CLA 2007-05-18 01:58:50 EDT
(In reply to comment #3)
> Refactoring started.  Moved many classes into internal packages.  TBC.
> 

Continued move to internal packages.  Removed extraneous/no longer used methods, classes, interfaces.  Renamed method and field names for simplicity and consistency.  Resolving as Fixed.
Comment 5 Scott Lewis CLA 2007-09-24 22:42:00 EDT
Reopening to deal with package visibility issues.
Comment 6 Scott Lewis CLA 2007-10-16 15:26:29 EDT
Moving to 2.0.0M4 target milestone.
Comment 7 Scott Lewis CLA 2008-01-02 19:27:00 EST
Did some mild refactoring to make the send screen capture capability work reliably with very large images.  Added zip compression for image data and simplified some existing code in org.eclipse.ecf.examples.collab.

Comment 8 Scott Lewis CLA 2014-05-09 12:35:56 EDT
Resolving as fixed as per comment 7.  More work remains on this, but unlikely to occur given current resources.  If committer or contributor resources become available, then please reopen.