manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antonio David Pérez Morales <adperezmora...@gmail.com>
Subject Re: [GSoC] Confluence Authority Connector
Date Wed, 05 Aug 2015 09:52:55 GMT
Hi Karl

After talked with Rafa yesterday, while I'm working on some improvements
and fixes, Rafa is testing the connector against some Confluence instances
(on premise and cloud) to check the connector's behavior.
After that, we can think to merge both connectors into only one project
(right now it is a Maven project with two maven modules, one for repository
connector and one for authority connector) if needed and then move towards
importing it into Apache SVN.

I don't know if I can do that step or else only Manifold committers can do
that. If the second, I can help anyone to move the project into Apache SVN.

Regards



2015-08-04 20:25 GMT+02:00 Karl Wright <daddywri@gmail.com>:

> If you feel that this connector is largely complete, we can move towards
> importing it into Apache svn.  Please let us know when you are ready.
>
> Karl
>
>
> On Tue, Aug 4, 2015 at 1:22 PM, Antonio David Pérez Morales <
> adperezmorales@gmail.com> wrote:
>
> > Hi guys
> >
> > Following the work already done in the Confluence connector, I have
> > developed some tests for the Authority connector and also I have fixed
> and
> > improved the tests related to the repository connector because I changed
> > the check to know if a document needs to be reindexed or not, so I have
> > modified the tests accordingly to avoid problems and in order to tests
> the
> > behavior properly.
> >
> > Regarding the documentation and after talked with Rafa, I have started
> with
> > the README.md file and I have also put configuration screenshots on it
> > using embedded images (unluckily if you go to GitHub, the embedded images
> > are not rendered I don't know why, but  using the Markdown content in a
> > Markdown syntax viewer, the images are properly shown). We have agreed
> that
> > when the connectors are ready to be contributed, then we can port the
> > documentation to the format expected by Manifold framework.
> >
> > As always, if you have any comments or suggestions for improvements or
> new
> > requirements, please let me know.
> >
> > Regards
> >
> >
> >
> >
> > 2015-07-25 10:45 GMT+02:00 Rafa Haro <rharo@apache.org>:
> >
> > > Hi Antonio,
> > >
> > >
> > > Sorry I have been out for a couple of days, so I couldn't answer until
> > > today.
> > >
> > >
> > >
> > >
> > >
> > >
> > > —
> > > Enviado desde Mailbox
> > >
> > >
> > >
> > > El jueves, 23 de jul de 2015 a las 21:28, Antonio David Pérez Morales <
> > > adperezmorales@gmail.com> escribió:
> > > Hi devs
> > >
> > >
> > > I continue working on the Authority connector for Confluence [1].
> > >
> > > Basically I'm finishing the tests and doing some improvements. I would
> > like
> > >
> > > to do some UI tests (like Active Directory connector does), so I will
> try
> > >
> > > to include them along with unit tests with mocks.
> > >
> > > In parallel, I'm going to start with the documentation to be ready for
> > the
> > >
> > > contribution to Manifold.
> > >
> > > ​
> > >
> > > ​Fine. I will take a look to the GitHub project to check the authority
> > > connector progress. Actually this one should be easier and faster to
> test
> > > for me.
> > >
> > >
> > >
> > >
> > >
> > >
> > > Moreover, right now, I keep separated both repository and authority
> > >
> > > connectors (different modules in the maven project) but once finished,
> I
> > >
> > > think it is better to join them into only one, merging the clients used
> > to
> > >
> > > interact with Confluence, and reusing some model classes. I will do it
> as
> > >
> > > soon as I finish the tests and some improvements and in parallel with
> the
> > >
> > > documentation.
> > >
> > >
> > >
> > >
> > >
> > > ​
> > >
> > > ​Yeah, there are probably some code that could be merged. If the
> > > configuration is barely the same for both clients, they should be
> merged
> > in
> > > a single client module. For now, you can keep it at one of the
> connectors
> > > packages and cross the reference in the other one. As soon as you
> finish
> > > the authority connector I will take a look to see if we can merge
> > something
> > > else.
> > >
> > >
> > >
> > >
> > > As always, if you have any suggestions, please let me know and I will
> try
> > >
> > > to include it in the current code.
> > >
> > >
> > > Regards
> > >
> > >
> > > [1]
> > >
> > >
> > >
> >
> https://github.com/adperezmorales/confluence-manifold-connector/tree/develop
> > >
> > >
> > > 2015-07-11 12:52 GMT+02:00 Karl Wright <daddywri@gmail.com>:
> > >
> > >
> > > > The feature was developed for a user that was trying to index
> documents
> > >
> > > > by creating multiple XML files, each containing a specific set of
> > >
> > > > documents. But we don't have any supported connectors yet that rely
> on
> > >
> > > > this feature.
> > >
> > > >
> > >
> > > > Thanks,
> > >
> > > > Karl
> > >
> > > >
> > >
> > > > Sent from my Windows Phone
> > >
> > > > From: Antonio David Pérez Morales
> > >
> > > > Sent: 7/11/2015 3:55 AM
> > >
> > > > To: dev@manifoldcf.apache.org
> > >
> > > > Subject: Re: [GSoC] Confluence Authority Connector
> > >
> > > > Hi Karl
> > >
> > > >
> > >
> > > > Thanks for your response.
> > >
> > > >
> > >
> > > > No, I'm not using document components, so I will change the call to
> > >
> > > > checkDocumentNeedsReindexing.
> > >
> > > >
> > >
> > > > Only for curiosity, do you have any example showing how to use
> document
> > >
> > > > components with the RepositoryDocument model used in Manifold?
> > >
> > > >
> > >
> > > > Regards
> > >
> > > >
> > >
> > > > 2015-07-11 1:19 GMT+02:00 Karl Wright <daddywri@gmail.com>:
> > >
> > > >
> > >
> > > > > bq. Karl one question about repository connector document
> retainment.
> > > I'm
> > >
> > > > > using
> > >
> > > > > the activities.retainAllComponentDocument(docId) method of
> > >
> > > > IProcessActivity
> > >
> > > > > to retain the document and avoid to be reindexed.
> > >
> > > > >
> > >
> > > > > Hi Antonio,
> > >
> > > > >
> > >
> > > > > checkDocumentNeedsReindexing() is the standard way of determining
> > >
> > > > whether a
> > >
> > > > > document needs to be reindexed or not.  You can follow the template
> > >
> > > > present
> > >
> > > > > in multiple other connectors that use this method.
> > >
> > > > >
> > >
> > > > > retainAllComponentDocuments() is basically a shorthand way of
> > > determining
> > >
> > > > > the disposition of document components.  I don't believe you even
> use
> > >
> > > > > document components in the confluence connector, although I could
> be
> > >
> > > > wrong
> > >
> > > > > about that?  In general, if your connector doesn't do anything with
> > >
> > > > > components at all, you will not need to call this method.
> > >
> > > > >
> > >
> > > > > Thanks,
> > >
> > > > > Karl
> > >
> > > > >
> > >
> > > > >
> > >
> > > > >
> > >
> > > > >
> > >
> > > > > On Fri, Jul 10, 2015 at 10:43 AM, Antonio David Pérez Morales <
> > >
> > > > > adperezmorales@gmail.com> wrote:
> > >
> > > > >
> > >
> > > > > > Hi devs
> > >
> > > > > >
> > >
> > > > > > Continuing with the work, I have developed a first version of
the
> > >
> > > > > > Confluence Authority connector aligned with the ACLs used by
the
> > >
> > > > > Confluence
> > >
> > > > > > Repository Connector.
> > >
> > > > > > I have fixed and improved some parts in the repository connector
> > and
> > >
> > > > > > committed the code and also I have updated the Jira issue [1]
to
> > keep
> > >
> > > > > track
> > >
> > > > > > of the new additions.
> > >
> > > > > > Both branches have been merged into master and I have created
a
> new
> > >
> > > > > develop
> > >
> > > > > > branch [2] from it, so further improvements and fixes can be
done
> > > from
> > >
> > > > > this
> > >
> > > > > > branch and then merged into master.
> > >
> > > > > > Right now, the connectors are in different maven modules and
> maybe
> > in
> > >
> > > > the
> > >
> > > > > > future I can merge into one single maven project without modules,
> > so
> > >
> > > > that
> > >
> > > > > > with one jar file we will have both connectors ready to be used
> in
> > >
> > > > > > Manifold.
> > >
> > > > > > As of now, I will work in the Authority connector improvements
> and
> > >
> > > > tests
> > >
> > > > > > and also I will do all the things Rafa (or you guys) can report
> > >
> > > > regarding
> > >
> > > > > > the functionality of the connectors.
> > >
> > > > > >
> > >
> > > > > > Karl one question about repository connector document retainment.
> > I'm
> > >
> > > > > using
> > >
> > > > > > the activities.retainAllComponentDocument(docId) method of
> > >
> > > > > IProcessActivity
> > >
> > > > > > to retain the document and avoid to be reindexed.
> > >
> > > > > > Rafa, while checking and reviewing the code, noticed that other
> > >
> > > > > connectors
> > >
> > > > > > are using the checkDocumentNeedsReindexing(documentIdentifier,
> > >
> > > > > > newVersionString) method also from IProcessActivity. I checked
> the
> > > code
> > >
> > > > > > from both methods and internally they act differently. Is it
fine
> > to
> > >
> > > > use
> > >
> > > > > > the retainAllComponentDocument or it is better to switch to
> > >
> > > > > > checkDocumentNeedsReindexing one?
> > >
> > > > > >
> > >
> > > > > > As always, if you have suggestions about improvements or more
> > things
> > >
> > > > > which
> > >
> > > > > > can be done for these connectors, please let me know.
> > >
> > > > > >
> > >
> > > > > > Regards
> > >
> > > > > >
> > >
> > > > > > [1] https://issues.apache.org/jira/browse/CONNECTORS-1161
> > >
> > > > > > [2]
> > >
> > > > > >
> > >
> > > > > >
> > >
> > > > >
> > >
> > > >
> > >
> >
> https://github.com/adperezmorales/confluence-manifold-connector/tree/develop
> > >
> > > > > >
> > >
> > > > > >
> > >
> > > > > > 2015-07-09 17:17 GMT+02:00 Rafa Haro <rharo@apache.org>:
> > >
> > > > > >
> > >
> > > > > > > Hi Antonio,
> > >
> > > > > > >
> > >
> > > > > > > Thanks for the new update. Let me make some comments inline:
> > >
> > > > > > >
> > >
> > > > > > > On Wed, Jul 8, 2015 at 6:31 PM, Antonio David Pérez Morales
<
> > >
> > > > > > > adperezmorales@gmail.com> wrote:
> > >
> > > > > > >
> > >
> > > > > > > > Hi devs
> > >
> > > > > > > >
> > >
> > > > > > > > After the midterm, I continue with the proposed work
and I
> > > already
> > >
> > > > > > > started
> > >
> > > > > > > > to work on the second part of the project, which is
the
> > > development
> > >
> > > > > of
> > >
> > > > > > an
> > >
> > > > > > > > Authority Connector for Confluence.
> > >
> > > > > > > >
> > >
> > > > > > > > I have created a new branch [1] for that in my GitHub
account
> > > and I
> > >
> > > > > > > already
> > >
> > > > > > > > committed the basic structure of the connector along
with the
> > > code
> > >
> > > > > > > related
> > >
> > > > > > > > to Confluence instance configuration. After that I
will
> develop
> > > the
> > >
> > > > > > > proper
> > >
> > > > > > > > strategy to get the ACLs for the user as stated in
the
> > proposal.
> > >
> > > > > > > >
> > >
> > > > > > > > For this case, I have been evaluating the two scenarios
> > contained
> > >
> > > > in
> > >
> > > > > > the
> > >
> > > > > > > > proposal and I will start developing the space-based
> > permissions
> > >
> > > > > which
> > >
> > > > > > > > requires no customizations of Confluence instance
(coarse
> > grain).
> > >
> > > > > > > >
> > >
> > > > > > > > I made some tests with Confluence APIs trying to go
more
> > > fine-grain
> > >
> > > > > > using
> > >
> > > > > > > > the user groups but there is not endpoint method to
get the
> > > groups
> > >
> > > > > that
> > >
> > > > > > > can
> > >
> > > > > > > > view a specific page. So in the end, I think the space-based
> > >
> > > > > permission
> > >
> > > > > > > is
> > >
> > > > > > > > a good solution, because implementing a Confluence
plugin for
> > > that
> > >
> > > > to
> > >
> > > > > > > cover
> > >
> > > > > > > > some very specific use cases I think most people won't
be
> > willing
> > >
> > > > to
> > >
> > > > > > > patch
> > >
> > > > > > > > Confluence only for those specific use cases (for
example
> > where a
> > >
> > > > > > person
> > >
> > > > > > > is
> > >
> > > > > > > > not allowed to view a space but it is allowed to view
a
> single
> > > page
> > >
> > > > > in
> > >
> > > > > > > that
> > >
> > > > > > > > space).
> > >
> > > > > > > >
> > >
> > > > > > >
> > >
> > > > > > > Let's focus right now on permissions at space level. As
you
> said,
> > > to
> > >
> > > > > > patch
> > >
> > > > > > > confluence API is not  a good solution, specially for those
> using
> > > it
> > >
> > > > in
> > >
> > > > > > the
> > >
> > > > > > > Cloud. If in the future they extend the API with more fine
> > grained
> > >
> > > > > > > permissions approach, we can always update later the connector.
> > >
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > > >
> > >
> > > > > > > > I have also updated the README file putting a guide
to
> > configure
> > >
> > > > both
> > >
> > > > > > > > connectors using screenshots about configuration tabs
for the
> > >
> > > > > > connectors.
> > >
> > > > > > > > I'm using embedded images (using Data URIs syntax
for images)
> > but
> > >
> > > > it
> > >
> > > > > > > seems
> > >
> > > > > > > > they are not supported by GitHub in the README (although
they
> > are
> > >
> > > > in
> > >
> > > > > > the
> > >
> > > > > > > > code, and other Markdown viewers can show them).
> > >
> > > > > > > >
> > >
> > > > > > >
> > >
> > > > > > > Ok, thanks!
> > >
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > > >
> > >
> > > > > > > > The connectors are in separated branches until I merge
them
> > into
> > >
> > > > > > master.
> > >
> > > > > > > >
> > >
> > > > > > > > Moreover, I have been talking and reviewing with Rafa
through
> > > Skype
> > >
> > > > > the
> > >
> > > > > > > > current work, and we have agreed to track all the
things also
> > in
> > >
> > > > the
> > >
> > > > > > Jira
> > >
> > > > > > > > issue (apart from these mails), so I will put the
> configuration
> > >
> > > > > > > screenshots
> > >
> > > > > > > > there and the links to the GitHub repositories.
> > >
> > > > > > > >
> > >
> > > > > > >
> > >
> > > > > > > Perfect!. Let me know when we can start testing the Authority
> > >
> > > > connector
> > >
> > > > > > > too. My intention is to test the whole connector in a real
> > >
> > > > environment
> > >
> > > > > > > extensively sometime before the pencil downs looking for
> possible
> > >
> > > > bugs,
> > >
> > > > > > > additions and so on.
> > >
> > > > > > >
> > >
> > > > > > > Well done so far!
> > >
> > > > > > > Cheers,
> > >
> > > > > > > Rafa
> > >
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > > >
> > >
> > > > > > > > Comments and suggestions are more than welcome as
always.
> > >
> > > > > > > >
> > >
> > > > > > > > Regards
> > >
> > > > > > > >
> > >
> > > > > > > > --------
> > >
> > > > > > > >
> > >
> > > > > > > > [1]
> > >
> > > > > > > >
> > >
> > > > > > > >
> > >
> > > > > > >
> > >
> > > > > >
> > >
> > > > >
> > >
> > > >
> > >
> >
> https://github.com/adperezmorales/confluence-manifold-connector/tree/feature/authority-connector
> > >
> > > > > > > >
> > >
> > > > > > >
> > >
> > > > > >
> > >
> > > > >
> > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message