[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] Building a system on top of ECF

Hi Ghadeer,

On 10/11/2012 11:40 AM, Ghadeer Kintab wrote:
Hi Scott

Thanks for you reply. But, I'm going to use your ECF plugin (I don't need to build a new one). However, I need to modify it to get some data while users communicate to save in a database.

Generally, it's better to create a new plugin of your own...extending but not modifying one of ECFs...primarily because there's potential to conflict with the next version of ECF's code...and/or having people use the wrong version once deployed.



Would you mind to clarify what plugin I need to import (either the whole "ecf" or just "ecf.docshare"), and which package(s) I need to import as well to access and get the data I need. Do you recommend a clear document to read (the documents you provided in the last email has lots of references and branshes, and I got lost with).

Unfortunately, for this use case (docshare) we haven't created either a separate ECF distribution...or even an enumeration...of the relevant/necessary plugin dependencies.   However, eclipse has tooling in the PDE to report the full extent of dependencies that you can use to create such a list...given a top-level plugin (e.g. the org.eclipse.ecf.docshare plugin).   You can access this tooling by opening up the PDE manifest editor (double clicking on manifest.mf), clicking on the Dependencies tab, opening up the Dependency Analysis section in lower right, and Showing the plugin dependency hierarchy.

Thanks,

Scott







Thanks,

Ghadeer 



From: Scott Lewis <slewis@xxxxxxxxxxxxx>
To: ecf-dev@xxxxxxxxxxx
Sent: Monday, August 27, 2012 7:37:50 PM
Subject: Re: [ecf-dev] Building a system on top of ECF

Hi Ghadeer,

On 8/27/2012 6:13 PM, Ghadeer Kintab wrote:
Hello

I'm building a system on top of Eclipse Communication Framework using Java, and I want to get some data from its features like the following:

 1. When a developer (e.g. dev1) selects "Share Editor With" from the menu, I'd like to capture the name of the selected developer (e.g. dev2).

This menu is implemented by this/these classes:

org.eclipse.ecf.docshare.menu.DocShareRosterMenuContributionItem

which is in org.eclipse.ecf.docshare plugin.

This class extends this class:

org.eclipse.ecf.presence.ui.menu.AbstractRosterMenuContributionItem

which is in the org.eclipse.ecf.presence.ui plugin.

These two classes are responsible for creating the dynamic menu contributions...and invoking actions when one of the roster items (i.e. developers) are selected.

You can/could create your own/new instance of DocShareRosterMenuContributionItem (i.e. in your own plugin...call it what you like), and customize it's behavior.  Note that the DocShareRosterMenuContributionItem is added via the org.eclipse.ui.menus extension point, via markup like this (from the org.eclipse.ecf.docshare/plugin.xml):

      <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:#CompilationUnitEditorContext">
         <dynamic
               class="org.eclipse.ecf.docshare.menu.DocShareRosterMenuContributionItem"
               id="org.eclipse.ecf.editorshare.dynamic1">
         </dynamic>
      </menuContribution>


 2. When the pop-up window appears to dev2 asking for a permission to share, I'd like to capture his answer (either "Yes" or "No")

This is currently implemented by this class:

org.eclipse.ecf.docshare.DocShare

in the docshare plugin.  See this method:  org.eclipse.ecf.docshare.DocShare.handleStartMessage(StartMessage)

 3. If the editor is shared, I need to show a pop-up window to dev1 asking a few questions after the shared editor is closed.

I believe this is also in the org.eclipse.ecf.docshare.DocShare class.


 4. Also, I'd like to have some flexibility to order the contacts based on some factors I built in my system

This should be possible by changing the presentation of the contacts...as implemented in the DocShareRosterContributionItem and the AbstractMenuContributionItem class.

Most/many of these class provide protected methods to allow overriding/customization by subclasses (to add your app-specific functionality).  Although not optimal for extension/customization, this is all the extensibility that we've built into these aspects of the docshare user interface at this point.  You can/could, of course, create your own user interface for docshare...based upon the code that's there.  If you do this, please consider finding things to contribute back to the project.

Here is some other docs on real-time shared editing...and customization (for another use case) [1]
Also...please consider adding yourself/your project to this ECF adopter's page [2].

Hope this helps.

Thanks,

Scott

[1] http://wiki.eclipse.org/DocShare_Plugin  http://wiki.eclipse.org/Extending_Real-Time_Shared_Editing_for_Use_with_Other_Editors
[2] http://wiki.eclipse.org/ECF/Adopters


Is it possible to have this data

Thanks,

Ghadeer Kintab


_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev




_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev