syncope-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francesco Chicchiriccò <ilgro...@apache.org>
Subject Re: Eclipse Plugin [SYNCOPE-809] as GSoC 16 Project
Date Thu, 02 Jun 2016 13:03:36 GMT
On 2016-06-02 12:28 Tushar Mishra wrote:
> Update: Added the following with this commit
> <https://github.com/tmess567/SYNCOPE-809/commit/edd9ede850b0a75854491619740818ad7fd97932>
> TreeViewer now supports Add and Remove functionality
> Right click on
> 1. TreeParent allows adding a new template key
> 2. TreeObject allows removing key
> 
> Problems:
> 1. Users except admin do not return any template keys. Can only the 
> admin
> have mail and report Templates or can any normal user have them too?

The internal security model [1] requires that the requesting user owns 
different entitlements for being allowed to invoke different REST 
endpoints; for example, to list all mail templates available, the 
"MAIL_TEMPLATE_LIST" entitlement is necessary.

You will need then to create a role R, assign the needed entitlements to 
it and finally make the new user member of such role.
Only at this point such user will be allowed to invoke the corresponding 
REST calls.

"admin" owns all defined entitlements.

> 2. When trying to add an already existing key, SyncopeClient doesn't 
> throw
> any error. I can simply check against the loaded key list, but 
> shouldn't
> that be done by SyncopeClient itself?

The Syncope client library does not throw any exception because the 
Syncope core does not throw any exception in case one if attempting to 
create a mail template with an existing key; if you believe that an 
exception should be raised, please fill an improvement on JIRA (with fix 
version 2.0.0 and component "core").

Regards.

[1] 
https://cwiki.apache.org/confluence/display/SYNCOPE/%5BDISCUSS%5D+Realms#id-[DISCUSS]Realms-Newsecuritymodel
[2] 
https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
[3] 
https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java

> On Wed, Jun 1, 2016 at 4:30 PM Tushar Mishra <tusharm567@gmail.com> 
> wrote:
> 
>> Update: Added the following on this commit
>> <https://github.com/tmess567/SYNCOPE-809/commit/3ce1e8ee7fc1e2c407a579b16746a4561f5c11c0>
>> 1. Loading dialog to represent fetching process.
>> 2. Preferences used to store and retrieve (persist through eclipse 
>> restart)
>>         a) Deployment url through eclipse installation
>>         b) User credentials through workspace
>> 
>> Please advise on any further features required in the TreeViewer.
>> Regards,
>> 
>> On Tue, May 31, 2016 at 4:33 PM Francesco Chicchiriccò <
>> ilgrosso@apache.org> wrote:
>> 
>>> On 31/05/2016 12:59, Tushar Mishra wrote:
>>> > I've modified the project to use Tycho and can now be built with maven.
>>> > Please check it out and inform me if there are any problems or changes
>>> > required. I'll start working on the loading dialog tomorrow.
>>> 
>>> I have verified that now the Maven build works fine, and commented 
>>> the
>>> relevant issues on GitHub.
>>> Nice job!
>>> 
>>> Now let's concentrate on adding features.
>>> 
>>> Regards.
>>> 
>>> > On Tue, May 31, 2016 at 2:50 PM Francesco Chicchiriccò <
>>> ilgrosso@apache.org>
>>> > wrote:
>>> >
>>> >> On 31/05/2016 08:59, Tushar Mishra wrote:
>>> >>> I built the structure as suggested by Mr. Perucci here
>>> >>> <https://github.com/tmess567/SYNCOPE-809/issues/4>.
>>> >>> However on running 'mvn clean verify', I got the following error.
>>> >>>
>>> >>> [ERROR] Failed to execute goal
>>> >>> org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check
>>> >>> (checkstyle-check) on project Syncope-IDE: Failed during checkstyle
>>> >>> execution: Unable to find configuration file at location:
>>> >>>
>>> >>
>>> /home/nitrous/syncope-ide/src/main/resources/org/apache/syncope/checkstyle.xml:
>>> >>> Could not find resource '/home/nitrous/syncope-ide/
>>> >>> src/main/resources/org/apache/syncope/checkstyle.xml'.
>>> >> For the moment just add this to your pom.xml:
>>> >>
>>> >> <properties>
>>> >>       <checkstyle.skip>true</checkstyle.skip>
>>> >>     </properties>
>>> >>
>>> >> which will skip checkstyle checks: at some time you will place your
>>> code
>>> >> into the Apache Syncope source tree and we will need to make some
>>> >> changes into the pom.xml - including removing this property.
>>> >>
>>> >>> I am also reading up on the tutorial
>>> >>> <
>>> >>
>>> https://github.com/tmess567/SYNCOPE-809/files/289341/Eclipse.Tycho.for.building.Eclipse.Plug.pdf
>>> >>> you linked in the issues to understand tycho better, but since I've
>>> never
>>> >>> really worked with maven extensively before, it is taking some time.
>>> >> With caution, but take your time to get acquainted with Apache Maven:
>>> it
>>> >> is fundamental for working with Apache Syncope (and thousands more Open
>>> >> Source projects out there).
>>> >>
>>> >> Regards.
>>> >>
>>> >>> On Mon, May 30, 2016 at 1:01 PM Francesco Chicchiriccò <
>>> >> ilgrosso@apache.org>
>>> >>> wrote:
>>> >>>
>>> >>>> Hi,
>>> >>>> I have commented
>>> >>>>
>>> >>>> https://github.com/tmess567/SYNCOPE-809/issues/3
>>> >>>>
>>> >>>> and also opened
>>> >>>>
>>> >>>> https://github.com/tmess567/SYNCOPE-809/issues/4
>>> >>>>
>>> >>>> Regards.
>>> >>>>
>>> >>>> On 28/05/2016 12:51, Francesco Chicchiriccò wrote:
>>> >>>>> On 2016-05-28 12:48 Tushar Mishra wrote:
>>> >>>>>> There have been no responses from the IRC channel for
eclipse
>>> (Refer
>>> >> to
>>> >>>>>> comments on this issue
>>> >>>>>> <https://github.com/tmess567/SYNCOPE-809/issues/3>).
>>> >>>>>> I have sent out some emails regarding the query out
to some plugin
>>> >>>>>> developers and blog authors and I am still awaiting
any response
>>> from
>>> >>>>>> them.
>>> >>>>>>
>>> >>>>>> Meanwhile, I am working on developing tests for the
plugin. I
>>> believe
>>> >>>>>> this
>>> >>>>>> will be completed during the weekend in which case,
I will start
>>> work
>>> >> on
>>> >>>>>> the editor part of the plugin.
>>> >>>>>>
>>> >>>>>> I would again like to invite you to try out the plugin
and post
>>> >>>>>> issues on
>>> >>>>>> the GitHub repository <https://github.com/tmess567/SYNCOPE-809>
if
>>> >>>>>> you find
>>> >>>>>> any problems.
>>> >>>>> Thanks for update: I'll look into that on Monday at earliest.
>>> >>>>> Regards.
>>> >>>>>
>>> >>>>>> On Fri, May 27, 2016 at 1:36 PM Tushar Mishra <
>>> tusharm567@gmail.com>
>>> >>>>>> wrote:
>>> >>>>>>
>>> >>>>>>> Update:
>>> >>>>>>>
>>> >>>>>>> 1. icon has been changed with this commit
>>> >>>>>>> <
>>> >>
>>> https://github.com/tmess567/SYNCOPE-809/commit/b72ce55958aefe7ea1510428189972bccad269fd
>>> >>>>>>> 2. Commented on issue #3
>>> >>>>>>> <https://github.com/tmess567/SYNCOPE-809/issues/3>
>>> >>>>>>>
>>> >>>>>>> Refactoring plugin.xml to src/main/resources/ doesn't
seem to be
>>> >>>>>>> directly
>>> >>>>>>> possible. Also, plugin.xml requires META-INF and
MANIFEST.MF to be
>>> >>>>>>> in the
>>> >>>>>>> same directory, so that has to be in the root directory
as well.
>>> >>>>>>> I will continue to look into it and ask other developers
until I'm
>>> >>>>>>> sure.
>>> >>>>>>>
>>> >>>>>>> Also, do I need to change the icons used in the
tree view to
>>> >> represent
>>> >>>>>>> folders and files? If so, it would be really helpful
if you could
>>> >>>>>>> point me
>>> >>>>>>> to where you got the icons for the image
>>> >>>>>>> <
>>> >>
>>> https://cwiki.apache.org/confluence/download/attachments/62687598/image2016-3-15%2017%3A49%3A32.png?version=1&modificationDate=1458060572000&api=v2
>>> >>>>>>> you
>>> >>>>>>> posted over at the wiki page
>>> >>>>>>> <https://cwiki.apache.org/confluence/display/SYNCOPE/GSOC+2016>
>>> for
>>> >>>> the
>>> >>>>>>> GSoC project.
>>> >>>>>>>
>>> >>>>>>> Regards,
>>> >>>>>>>
>>> >>>>>>> On Thu, May 26, 2016 at 4:29 PM Francesco Chicchiriccò
<
>>> >>>>>>> ilgrosso@apache.org> wrote:
>>> >>>>>>>
>>> >>>>>>>> On 26/05/2016 12:46, Tushar Mishra wrote:
>>> >>>>>>>>> I have made the following changes to my
project:
>>> >>>>>>>>>
>>> >>>>>>>>> 1. Refactored as Maven project and included
parent POM
>>> >>>>>>>>> 2. Removed unnecessary target libraries
and binary files
>>> >>>>>>>>> 3. Added Readme to Github repository
>>> >>>>>>>>> 4. Changed repository to only contain Eclipse
project instead of
>>> >>>>>>>> entire
>>> >>>>>>>>> workspace
>>> >>>>>>>>> 5. Brought source to root directory of the
repository
>>> >>>>>>>>> 6. Changed base package from "eclipseplugin"
to
>>> >>>>>>>> "org.apache.syncope.ide.
>>> >>>>>>>>> eclipse"
>>> >>>>>>>>> 7. Added Login functionality to allow user
to define the url of
>>> >>>>>>>> syncope
>>> >>>>>>>>> deployment and username password combination
>>> >>>>>>>>>
>>> >>>>>>>>> Changes to be made:
>>> >>>>>>>>>
>>> >>>>>>>>> 1. Replace icon of plugin to syncope's icon
>>> >>>>>>>>> 2. Remove .settings, META-INF, .classpath
and build.properties
>>> >>>>>>>> files and
>>> >>>>>>>>> folders and generate them using maven
>>> >>>>>>>>>
>>> >>>>>>>>> Please advise on any more changes required
or problems observed.
>>> >>>>>>>> Hi Tushar,
>>> >>>>>>>> I have opened
>>> >>>>>>>>
>>> >>>>>>>> https://github.com/tmess567/SYNCOPE-809/issues/1
>>> >>>>>>>> https://github.com/tmess567/SYNCOPE-809/issues/2
>>> >>>>>>>> https://github.com/tmess567/SYNCOPE-809/issues/3
>>> >>>>>>>>
>>> >>>>>>>> with some indications.
>>> >>>>>>>> Regards.
>>> >>>>>>>>
>>> >>>>>>>>> On Wed, May 25, 2016 at 12:14 PM Francesco
Chicchiriccò <
>>> >>>>>>>> ilgrosso@apache.org>
>>> >>>>>>>>> wrote:
>>> >>>>>>>>>
>>> >>>>>>>>>> Hi Tushar,
>>> >>>>>>>>>> here are my preliminary observations:
>>> >>>>>>>>>>
>>> >>>>>>>>>> 1. please refactor the whole project
as a Maven project having
>>> the
>>> >>>>>>>>>> following parent POM:
>>> >>>>>>>>>>
>>> >>>>>>>>>>       <parent>
>>> >>>>>>>>>> <groupId>org.apache.syncope</groupId>
>>> >>>>>>>>>>         <artifactId>syncope</artifactId>
>>> >>>>>>>>>>         <version>2.0.0-SNAPSHOT</version>
>>> >>>>>>>>>>       </parent>
>>> >>>>>>>>>>
>>> >>>>>>>>>> This will help for later stages since
your (and Nuwan Sameera's
>>> >> for
>>> >>>>>>>>>> SYNCOPE-808) code is eventually going
to be merged into the
>>> Apache
>>> >>>>>>>>>> Syncope source tree.
>>> >>>>>>>>>>
>>> >>>>>>>>>> 2. avoid putting binary files into the
source tree (Maven will
>>> >>>>>>>> greatly
>>> >>>>>>>>>> help WRT this), like as
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >> https://github.com/tmess567/SYNCOPE-809/tree/master/EclipsePlugin/lib
>>> >>
>>> https://github.com/tmess567/SYNCOPE-809/tree/master/EclipsePlugin/mvnlib
>>> >>
>>> https://github.com/tmess567/SYNCOPE-809/tree/master/EclipsePlugin/target/
>>> >>>>>>>>>> 3. add a wiki page with instructions
on how to (1) build and
>>> (2)
>>> >>>>>>>> use
>>> >>>>>>>>>> your plugin within Eclipse (with supported
Eclipse versions)
>>> >>>>>>>>>>
>>> >>>>>>>>>> Regards.
>>> >>>>>>>>>>
>>> >>>>>>>>>> On 24/05/2016 15:23, Tushar Mishra wrote:
>>> >>>>>>>>>>> I've updated the source
>>> >>>>>>>> <https://github.com/tmess567/SYNCOPE-809>
to
>>> >>>>>>>>>>> include and use the Syncope Client
library to access data from
>>> >> the
>>> >>>>>>>> REST
>>> >>>>>>>>>>> API. Please do check it out and
advise me on any required
>>> >>>>>>>> changes or
>>> >>>>>>>>>>> updates.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> Regards,
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> On Mon, May 23, 2016 at 7:31 PM
Tushar Mishra
>>> >>>>>>>> <tusharm567@gmail.com>
>>> >>>>>>>>>> wrote:
>>> >>>>>>>>>>>> Hello devs,
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> I would like to update you on
my progress in the project.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> Seeing that today was the start
of my project, I've built a
>>> >>>>>>>> java REST
>>> >>>>>>>>>>>> client to get all the mail and
report templates using
>>> Apache's
>>> >>>>>>>> HTTP
>>> >>>>>>>>>>>> libraries. These classes provide
data from the REST API and
>>> >>>>>>>> have been
>>> >>>>>>>>>> added
>>> >>>>>>>>>>>> to a view plugin which shows
the keys of the mail and report
>>> >>>>>>>> templates
>>> >>>>>>>>>> in a
>>> >>>>>>>>>>>> tree view as suggested here
>>> >>>>>>>>>>>>
>>> >>>>>>>> <https://cwiki.apache.org/confluence/display/SYNCOPE/GSOC+2016>.
>>> A
>>> >>>>>>>>>>>> screenshot for the same has
been uploaded here <
>>> >>>>>>>>>> http://imgur.com/4BO4yi2>.
>>> >>>>>>>>>>>> I received advice from my mentor
that I should be using the
>>> >>>>>>>> Syncope
>>> >>>>>>>>>>>> Client library for fetching
and sending data to the rest API.
>>> >>>>>>>> I am
>>> >>>>>>>>>>>> currently looking into it and
will be updating you guys on
>>> the
>>> >>>>>>>> progress
>>> >>>>>>>>>>>> with the same soon.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> Meanwhile, I've uploaded the
current one with the Apache's
>>> HTTP
>>> >>>>>>>>>> libraries over
>>> >>>>>>>>>>>> here <https://github.com/tmess567/SYNCOPE-809>.
Please take
>>> a
>>> >>>>>>>> look
>>> >>>>>>>> and
>>> >>>>>>>>>>>> tell me if any changes are required.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> Regards,
-- 
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PMC,
CXF Committer, OpenJPA Committer, PonyMail PPMC
http://home.apache.org/~ilgrosso/

Mime
View raw message