Re: [Architecture] XACML Policy Validator Toolkit for IS

2014-08-12 Thread Dulanja Liyanage
IMHO it should be there under tools and also a button should be given in
the policy editor to validate.

Then a user can easily validate an external policy using this tool and also
a user who's creating a policy can validate without navigating much.


On Tue, Aug 12, 2014 at 10:45 AM, Selvaratnam Uthaiyashankar 
shan...@wso2.com wrote:

 Shouldn't this policy validate go to policy editor? Why do we have it as a
 separate link?

 For example, I am editing a policy in policy editor. Should I copy the
 policy from there, click another link, paste there and validate? Isn't that
 a major inconvenience?

 Regards,
 Shankar


 On Monday, August 11, 2014, Gayan Gunawardana ga...@wso2.com wrote:

 Hi All,

 I'm currently developing $subject which will help to do XACML schema
 validation before saving a policy. Current implementation schema validation
 happens just before saving a policy so that you will get to know validity
 of policy only when you try to save the policy and also you may need to
 check the validity of a policy without saving the policy.


 ​



 --
 Gayan Gunawardana
 Software Engineer; WSO2 Inc.; http://wso2.com/
 Email: ga...@wso2.com
 Mobile: +94 (71) 8020933



 --
 S.Uthaiyashankar
 VP Engineering
 WSO2 Inc.
 http://wso2.com/ - lean . enterprise . middleware

 Phone: +94 714897591


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Dulanja Liyanage
WSO2 Inc.
M: +94776764717
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] Supporting multiple environments for Cassandra

2014-08-12 Thread Bhathiya Jayasekara
Hi all,

Currently in Storage Server, we can manage (and provision from) only one
Cassandra cluster. But in a real system there can be multiple environments
like Development, QA, Production etc. It's a bit unlikely for someone to
use multiple Storage server instances to manage each environment. And it's
very user friendly if we can manage all such clusters in a single place. So
the plan is to add multiple environment support for Storage server. Here is
a simple diagram which summarizes the story.


​

We will be having a new configuration file which will map real Cassandra
clusters to Environments in Storage Server. What actually happens is that
the real cluster information will be there in master-datasource.xml and
they will be mapped to Environments in aforesaid new configuration file.

These configurations will be read and saved in Config registry. We use
config registry as we still don't have a standard way to represent
environments in registry in our platform. Once we have a such a standard
ways in platform, we will be moving to governance registry.

Please share your thoughts.

Thanks,

-- 
*Bhathiya Jayasekara*
*Software Engineer,*
*WSO2 inc., http://wso2.com http://wso2.com*

*Phone: +94715478185*
*LinkedIn: http://www.linkedin.com/in/bhathiyaj
http://www.linkedin.com/in/bhathiyaj*
*Twitter: https://twitter.com/bhathiyax https://twitter.com/bhathiyax*
*Blog: http://movingaheadblog.blogspot.com
http://movingaheadblog.blogspot.com/*
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Gayan Dhanushka
Hi all,

We have identified that the events in the doc attached herewith are the
events which are triggered within each page. While some of them are already
published, some of them needs to be published to the social component in
order to enhance the user experience and collaboration. While doing this we
have encountered some issues and some resolutions are proposed to overcome
those issues.

*Problem*: There is no way to track whether a certain build or a deployment
instance triggered by someone is completed.(No association between start
and finish events for a certain instance). There is no way to represent an
ongoing process. (e.g. application creation in progress, build is in
progress etc.)

The same problem would be applied to any scenario where it takes some time
for a certain event to finish and app factory needs to capture both start
and completion events related to a particular instance.

*Solution* : Use a UUID to track events which takes time to complete

Publishing both start and complete events with the same UUID as a event
property would solve the problem. Then by looking at the event content we
are able to find whether there is a completion event for a certain start
event. This would be a global thing so the notification wall logic can be
written in such a manner that we need to have a look at only the UUID. If
we use different mechanisms for tracking start and completion events of
different events the notification wall logic would be more complex when
filtering out the events

Your thoughts are welcome.

[1] https://redmine.wso2.com/issues/3065

Thanks
GayanD

-- 
Gayan Dhanuska
Software Engineer
http://wso2.com/
Lean Enterprise Middleware

Mobile
071 666 2327

Office
Tel   : 94 11 214 5345
Fax  : 94 11 214 5300

Twitter : https://twitter.com/gayanlggd


Events to be published to App Factory wall.ods
Description: application/vnd.oasis.opendocument.spreadsheet
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Dmitry Sotnikov
Gayan,

A few items seem to be missing:

   - Issue tracker events,
   - Lifecycle: production URL assignment, ToDo checkbox selected/cleared.

Also, are we adding additional noise-reduction filter so user by default
sees more events related to his/her activity and smaller number of events
related to team-members?

OK if that is phase 2 - but I think this will be something we will have to
do in the future to make the solution practical.

Dmitry


On Tue, Aug 12, 2014 at 12:24 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are the
 events which are triggered within each page. While some of them are already
 published, some of them needs to be published to the social component in
 order to enhance the user experience and collaboration. While doing this we
 have encountered some issues and some resolutions are proposed to overcome
 those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way to
 represent an ongoing process. (e.g. application creation in progress, build
 is in progress etc.)

 The same problem would be applied to any scenario where it takes some time
 for a certain event to finish and app factory needs to capture both start
 and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a event
 property would solve the problem. Then by looking at the event content we
 are able to find whether there is a completion event for a certain start
 event. This would be a global thing so the notification wall logic can be
 written in such a manner that we need to have a look at only the UUID. If
 we use different mechanisms for tracking start and completion events of
 different events the notification wall logic would be more complex when
 filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd




-- 
Dmitry Sotnikov
VP of Cloud; WSO2, Inc.;  http://wso2.com/
email: dmi...@wso2.com; cell: +1.949.303.9653; Skype: DSotnikov
Lean . Enterprise . Middleware

 http://wso2.com/events/
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Udara Rathnayake
Hi Gayan,

See my comment in-line.

On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are the
 events which are triggered within each page. While some of them are already
 published, some of them needs to be published to the social component in
 order to enhance the user experience and collaboration. While doing this we
 have encountered some issues and some resolutions are proposed to overcome
 those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way to
 represent an ongoing process. (e.g. application creation in progress, build
 is in progress etc.)

Here we have to think about the user experience.
IMO the user who triggered the build only interested to see the progress of
that particular build, others may be interested to see the start and the
end but not the progress.

WDYT?


 The same problem would be applied to any scenario where it takes some time
 for a certain event to finish and app factory needs to capture both start
 and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a event
 property would solve the problem. Then by looking at the event content we
 are able to find whether there is a completion event for a certain start
 event. This would be a global thing so the notification wall logic can be
 written in such a manner that we need to have a look at only the UUID. If
 we use different mechanisms for tracking start and completion events of
 different events the notification wall logic would be more complex when
 filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
*Udara Rathnayake*
Software Engineer
WSO2 Inc. : http://wso2.com

Mobile : +94 772207239
Twitter : http://twitter.com/udarakr
Blog: http://udarakr.blogspot.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Gayan Dhanushka
Hi Dmitry,

Thanks for pointing things out. IMO that would be phase two Dmitry. As soon
as I complete publishing all the relevant events I will look to accommodate
the noise-reduction filter as well. WDYT of the suggestion made by Udara in
the above reply? I think that is a valid comment as well.

Hi Udara,

The point that you are making is valid I think. With the suggestion made by
Dmitry in the above reply I think this will come into the picture.

Thanks
GayanD


On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are the
 events which are triggered within each page. While some of them are already
 published, some of them needs to be published to the social component in
 order to enhance the user experience and collaboration. While doing this we
 have encountered some issues and some resolutions are proposed to overcome
 those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way to
 represent an ongoing process. (e.g. application creation in progress, build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the progress
 of that particular build, others may be interested to see the start and the
 end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes some
 time for a certain event to finish and app factory needs to capture both
 start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a event
 property would solve the problem. Then by looking at the event content we
 are able to find whether there is a completion event for a certain start
 event. This would be a global thing so the notification wall logic can be
 written in such a manner that we need to have a look at only the UUID. If
 we use different mechanisms for tracking start and completion events of
 different events the notification wall logic would be more complex when
 filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Udara Rathnayake*
 Software Engineer
 WSO2 Inc. : http://wso2.com

 Mobile : +94 772207239
 Twitter : http://twitter.com/udarakr
 Blog: http://udarakr.blogspot.com


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Gayan Dhanuska
Software Engineer
http://wso2.com/
Lean Enterprise Middleware

Mobile
071 666 2327

Office
Tel   : 94 11 214 5345
Fax  : 94 11 214 5300

Twitter : https://twitter.com/gayanlggd
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Dmitry Sotnikov
Gayan,

Indeed, looks like Udara and I are thinking along the same lines. :) This
is more than just a build. E.g. when I am creating an application, there
are a lot of things that happen (borrowing from your list):

   1. application creation started
   2. initial git repo creation
   3. jenkins space creation
   4. issue tracker space creation
   5. app authorization in cloud environments
   6. application creation completed

If I am creating an app - I'd like to see them all - because this takes the
mystery out of the process and makes me more comfortable with the platform.

If my team-member is creating an app - these 6 events and their progress
are just noise. All I need to do is: Jane created a new Java app
HelloWorld (if my role allows me to even know that this new app exists).

Again, obviously this all can be phase two.

Dmitry


On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry. As
 soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion made
 by Dmitry in the above reply I think this will come into the picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are the
 events which are triggered within each page. While some of them are already
 published, some of them needs to be published to the social component in
 order to enhance the user experience and collaboration. While doing this we
 have encountered some issues and some resolutions are proposed to overcome
 those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way to
 represent an ongoing process. (e.g. application creation in progress, build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the progress
 of that particular build, others may be interested to see the start and the
 end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes some
 time for a certain event to finish and app factory needs to capture both
 start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a event
 property would solve the problem. Then by looking at the event content we
 are able to find whether there is a completion event for a certain start
 event. This would be a global thing so the notification wall logic can be
 written in such a manner that we need to have a look at only the UUID. If
 we use different mechanisms for tracking start and completion events of
 different events the notification wall logic would be more complex when
 filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Udara Rathnayake*
 Software Engineer
 WSO2 Inc. : http://wso2.com

 Mobile : +94 772207239
 Twitter : http://twitter.com/udarakr
 Blog: http://udarakr.blogspot.com


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Dmitry Sotnikov
VP of Cloud; WSO2, Inc.;  http://wso2.com/
email: dmi...@wso2.com; cell: +1.949.303.9653; Skype: DSotnikov
Lean . Enterprise . Middleware

 http://wso2.com/events/
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] Siddhi CEP snapshot bug?

2014-08-12 Thread Antonio Jesus Navarro
Hi all,

Siddhi version 2.1.0-wso2v1 have new service called SnapshotService. I
think this service is used to recover the siddhi context from an unexpected
shutdown. The service have a method to generate a byte array with snapshot
data, and a method to restore this snapshot.

Byte array generation works perfect. The byte array is generated with
all Snapshotable elements. But I think there are a bug into the restore
method. It iterates a snapshotable list of elements that in the first
instance are empty, and the byte array is never setted to siddhiContext.

I am misunderstanding something? Or it is a bug?

Thanks in advance.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] Common component to read passwords via secure vault

2014-08-12 Thread Amila Maha Arachchi
Hi all,

At the moment we cannot enable secure vault for all of our config files
because all the components do not support reading configs with secure vault.

For example, we cannot enable secure vault for dep-sync password in
carbon.xml because cep-sync component is not written to support it (this
was the case as of August 2013). There are some other such configs in our
products (most of the new config files). So, if we want them to support
secure vault, those components need to be changed.

But, if we have a common component in the kernel which can do this, then we
can make this a standard in our coding. i.e. Any component which needs to
read a password from a config file should do it via this special component.

WDYT?

Regards,
AmilaM.

-- 
*Amila Maharachchi*
Senior Technical Lead
WSO2, Inc.; http://wso2.com

Blog: http://maharachchi.blogspot.com
Mobile: +94719371446
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Manjula Rathnayake
Hi all,

Personalized app-wall can be achieved by the way we publish activities to
social component. In current implementation, we publish activities to two
contexts called 'foo-user' and 'bar-app' which is rendered in wall as 'foo
user wall' and 'bar app wall'. We can introduce another context for
personalized activities called 'bar_app-foo_user' which can be rendered in
'bar app wall' only for 'foo-user'.
In short, we define contexts for each user for getting a personalized
app-wall.

thank you.


On Tue, Aug 12, 2014 at 2:49 PM, Dmitry Sotnikov dmi...@wso2.com wrote:

 Gayan,

 Indeed, looks like Udara and I are thinking along the same lines. :) This
 is more than just a build. E.g. when I am creating an application, there
 are a lot of things that happen (borrowing from your list):

1. application creation started
2. initial git repo creation
3. jenkins space creation
4. issue tracker space creation
5. app authorization in cloud environments
6. application creation completed

 If I am creating an app - I'd like to see them all - because this takes
 the mystery out of the process and makes me more comfortable with the
 platform.

 If my team-member is creating an app - these 6 events and their progress
 are just noise. All I need to do is: Jane created a new Java app
 HelloWorld (if my role allows me to even know that this new app exists).

 Again, obviously this all can be phase two.

 Dmitry


 On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry. As
 soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion made
 by Dmitry in the above reply I think this will come into the picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com
 wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are the
 events which are triggered within each page. While some of them are already
 published, some of them needs to be published to the social component in
 order to enhance the user experience and collaboration. While doing this we
 have encountered some issues and some resolutions are proposed to overcome
 those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way to
 represent an ongoing process. (e.g. application creation in progress, build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the progress
 of that particular build, others may be interested to see the start and the
 end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes some
 time for a certain event to finish and app factory needs to capture both
 start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a event
 property would solve the problem. Then by looking at the event content we
 are able to find whether there is a completion event for a certain start
 event. This would be a global thing so the notification wall logic can be
 written in such a manner that we need to have a look at only the UUID. If
 we use different mechanisms for tracking start and completion events of
 different events the notification wall logic would be more complex when
 filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Udara Rathnayake*
 Software Engineer
 WSO2 Inc. : http://wso2.com

 Mobile : +94 772207239
 Twitter : http://twitter.com/udarakr
 Blog: http://udarakr.blogspot.com


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 

[Architecture] Machine Learning Workflow

2014-08-12 Thread Supun Sethunga
Hi Srinath,

Attached is a proposed work-flow for the ML design came up by Lochana, Upul
and me.

Appreciate any comments.

Regards,
Supun

-- 
*Supun Sethunga*
Software Engineer
WSO2, Inc.
lean | enterprise | middleware
Mobile : +94 716546324
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Common component to read passwords via secure vault

2014-08-12 Thread Maninda Edirisooriya
+1 for a common component in the kernel. And extending your idea, I was
thinking why there is no common single OSGi service to read all the
configuration files in the config directory. If that was implemented, there
would be many advantages.

1. Coding would be cleaner as no file readers and if possible no XML
parsing. (parsing requirement would be prevented if we can add JAXB for XML
and GSON for JSON)
2. Configuration files would be read only in the server startup or only
once, which would reduce performance issues due to bad code to read them
frequently
3. Config files would not be written by the server code accidentally
(though probability of having such a bug is low)
4. Possible to add listeners to config reader events

From the service consumers point of view it would see a unified
configuration object. It would contain decrypted passwords etc. that is
easy to access.

And we can use that service extended so that when the configuration file
contents are overridden by
1. the database contents (e.g. Log4j properties configuration is overridden
by Management Console UI entered data) and
2. runtime parameters, (e.g. carbon.xml's port offset can be overridden by
the -DportOffset at server startup)
we can make that service updated automatically. Then the service consumer
does not have to worry about the priorities given to each file, DB etc. and
it would prevent the code duplication to manually implement the
configuration priorities by the service client. We found issues in our
products like not working with -DportOffset but working properly with
carbon.xml configuration. Those issues will be prevented with that
implementation.

As a summary, the new service will
1. expose all the server configuration as a service
2. will not allow to write to configuration files but will allow to update
some configuration changes into DB
3. unify configuration priorities given for config files, DB entries and
server startup values
4. expose secured strings like passwords to the execution code in plain
text which are encrypted by the secure vault in the config file.



*Maninda Edirisooriya*
Senior Software Engineer

*WSO2, Inc.*lean.enterprise.middleware.

*Blog* : http://maninda.blogspot.com/
*E-mail* : mani...@wso2.com
*Skype* : @manindae
*Twitter* : @maninda


On Tue, Aug 12, 2014 at 5:10 PM, Amila Maha Arachchi ami...@wso2.com
wrote:

 Hi all,

 At the moment we cannot enable secure vault for all of our config files
 because all the components do not support reading configs with secure vault.

 For example, we cannot enable secure vault for dep-sync password in
 carbon.xml because cep-sync component is not written to support it (this
 was the case as of August 2013). There are some other such configs in our
 products (most of the new config files). So, if we want them to support
 secure vault, those components need to be changed.

 But, if we have a common component in the kernel which can do this, then
 we can make this a standard in our coding. i.e. Any component which needs
 to read a password from a config file should do it via this special
 component.

 WDYT?

 Regards,
 AmilaM.

 --
 *Amila Maharachchi*
 Senior Technical Lead
 WSO2, Inc.; http://wso2.com

 Blog: http://maharachchi.blogspot.com
 Mobile: +94719371446


 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Siddhi CEP snapshot bug?

2014-08-12 Thread Rajeev Sampath
Hi Antonio,


On Tue, Aug 12, 2014 at 2:55 PM, Antonio Jesus Navarro 
ajnava...@stratio.com wrote:

 Hi all,

 Siddhi version 2.1.0-wso2v1 have new service called SnapshotService. I
 think this service is used to recover the siddhi context from an unexpected
 shutdown. The service have a method to generate a byte array with snapshot
 data, and a method to restore this snapshot.

 Byte array generation works perfect. The byte array is generated with
 all Snapshotable elements. But I think there are a bug into the restore
 method. It iterates a snapshotable list of elements that in the first
 instance are empty, and the byte array is never setted to siddhiContext.

 In restore() method, it lets all the snapshotables (windows, patterns etc)
to restore themselves instead of setting it in SiddhiContext by calling
restore() on all of them. All the required components such as windows,
patterns that has a state implements this functionality.

When you are using Siddhi as a library, when restoring you'll have to call
siddhiManager.setPersistStore() with whatever store implementation you have
and then call restoreLastRevision() to restore it to the previous state.


Thanks
Rajeev



 I am misunderstanding something? Or it is a bug?

 Thanks in advance.



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Rajeev Sampath
Senior Software Engineer
WSO2, Inc.; http://www.wso2.com.

Mobile:
* +94716265766*
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Siddhi CEP snapshot bug?

2014-08-12 Thread Tishan Dahanayakage
Hi Antonio,
To clarify further can you please share your query with us?

Thanks,
Tishan


On Tue, Aug 12, 2014 at 6:47 PM, Rajeev Sampath raje...@wso2.com wrote:

 Hi Antonio,


 On Tue, Aug 12, 2014 at 2:55 PM, Antonio Jesus Navarro 
 ajnava...@stratio.com wrote:

 Hi all,

 Siddhi version 2.1.0-wso2v1 have new service called SnapshotService. I
 think this service is used to recover the siddhi context from an unexpected
 shutdown. The service have a method to generate a byte array with snapshot
 data, and a method to restore this snapshot.

 Byte array generation works perfect. The byte array is generated with
 all Snapshotable elements. But I think there are a bug into the restore
 method. It iterates a snapshotable list of elements that in the first
 instance are empty, and the byte array is never setted to siddhiContext.

 In restore() method, it lets all the snapshotables (windows, patterns
 etc) to restore themselves instead of setting it in SiddhiContext by
 calling restore() on all of them. All the required components such as
 windows, patterns that has a state implements this functionality.

 When you are using Siddhi as a library, when restoring you'll have to call
 siddhiManager.setPersistStore() with whatever store implementation you have
 and then call restoreLastRevision() to restore it to the previous state.


 Thanks
 Rajeev



 I am misunderstanding something? Or it is a bug?

 Thanks in advance.



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 Rajeev Sampath
 Senior Software Engineer
 WSO2, Inc.; http://www.wso2.com.

 Mobile:
 * +94716265766 %2B94716265766*

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Tishan Dahanayakage
Software Engineer
WSO2, Inc.
Mobile:+94 716481328

Disclaimer: This communication may contain privileged or other confidential
information and is intended exclusively for the addressee/s. If you are not
the intended recipient/s, or believe that you may have received this
communication in error, please reply to the sender indicating that fact and
delete the copy you received and in addition, you should not print, copy,
re-transmit, disseminate, or otherwise use the information contained in
this communication. Internet communications cannot be guaranteed to be
timely, secure, error or virus-free. The sender does not accept liability
for any errors or omissions.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [AppFactory] BYOAT Progress

2014-08-12 Thread Danushka Fernando
Hi All
I am currently working on the Bring Your Own App Type feature. Currently I
have implemented a Axis2 Deployer which will deploy Application Types. And
with this we can create applications and build and deploy. But for the
purpose of deployment we use Jenkins (plugin wrote by us) to push the
artifact to the git repo (Dep sync location). There we have a structure
like below.

Stage/tenant id/service/deployment path/artifact

for ex:

Development/1/as/webapps/app1.war


So the deployment path is configured as a property of the apptype. So we
need to send this value to the JenkinsArtifactDeployer to push this to
correct place. But we dont have the mapping to apptype to deployment path
in current architecture at jenkins side. So we need to sent it to jenkins
from where ever we call it from. Currently we are calling this from three
places.

1. When we click deploy, we call Jenkins deployer from AF. Here we can send
the deployment path as a param since its available.
2. When we commit auto build and auto deploy will triggered.
3. When we build auto deploy will triggered.

So the solution we propose is use the path 1 for all the cases. But this
will increase the network usage. Solution we propose for that issue is use
a scaled deployment such as there will be a separate cluster to handle
deploy messages.

WDYT?

Thanks  Regards
Danushka Fernando
Software Engineer
WSO2 inc. http://wso2.com/
Mobile : +94716332729
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Gayan Dhanushka
Hi Manjula,

Thanks for the input. I will try to utilize the above mentioned method in
the second phase when trying to make the app wall more personalized.

Regards
GayanD


On Tue, Aug 12, 2014 at 5:56 PM, Manjula Rathnayake manju...@wso2.com
wrote:

 Hi all,

 Personalized app-wall can be achieved by the way we publish activities to
 social component. In current implementation, we publish activities to two
 contexts called 'foo-user' and 'bar-app' which is rendered in wall as 'foo
 user wall' and 'bar app wall'. We can introduce another context for
 personalized activities called 'bar_app-foo_user' which can be rendered in
 'bar app wall' only for 'foo-user'.
 In short, we define contexts for each user for getting a personalized
 app-wall.

 thank you.


 On Tue, Aug 12, 2014 at 2:49 PM, Dmitry Sotnikov dmi...@wso2.com wrote:

 Gayan,

 Indeed, looks like Udara and I are thinking along the same lines. :) This
 is more than just a build. E.g. when I am creating an application, there
 are a lot of things that happen (borrowing from your list):

1. application creation started
2. initial git repo creation
3. jenkins space creation
4. issue tracker space creation
5. app authorization in cloud environments
6. application creation completed

 If I am creating an app - I'd like to see them all - because this takes
 the mystery out of the process and makes me more comfortable with the
 platform.

 If my team-member is creating an app - these 6 events and their progress
 are just noise. All I need to do is: Jane created a new Java app
 HelloWorld (if my role allows me to even know that this new app exists).

 Again, obviously this all can be phase two.

 Dmitry


 On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry. As
 soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion made
 by Dmitry in the above reply I think this will come into the picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com
 wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are
 the events which are triggered within each page. While some of them are
 already published, some of them needs to be published to the social
 component in order to enhance the user experience and collaboration. While
 doing this we have encountered some issues and some resolutions are
 proposed to overcome those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way 
 to
 represent an ongoing process. (e.g. application creation in progress, 
 build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the
 progress of that particular build, others may be interested to see the
 start and the end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes some
 time for a certain event to finish and app factory needs to capture both
 start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a
 event property would solve the problem. Then by looking at the event
 content we are able to find whether there is a completion event for a
 certain start event. This would be a global thing so the notification wall
 logic can be written in such a manner that we need to have a look at only
 the UUID. If we use different mechanisms for tracking start and completion
 events of different events the notification wall logic would be more
 complex when filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 214 5345
 Fax  : 94 11 214 5300

 Twitter : https://twitter.com/gayanlggd

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




 --
 *Udara Rathnayake*
 Software Engineer
 WSO2 Inc. : http://wso2.com

 Mobile : +94 772207239
 Twitter : http://twitter.com/udarakr
 Blog: http://udarakr.blogspot.com


 ___
 Architecture mailing list
 Architecture@wso2.org
 

[Architecture] Storage of asset resources in the ES

2014-08-12 Thread Sameera Medagammaddegedara
Hi Everyone,

*Current State:*

   - All the resources of an asset are stored in a database(e.g. images and
   pdfs)
   - The embedded H2 database is used as the default data source
   - CRUD operations are performed using an intermediate layer that
   abstracts out the complexities of dealing with different database types
  - The business logic deals with an interface that uses get and put
  methods to access the storage layer
  - All resources are served from a single endpoint that is used to
   control access based on the state of the asset that owns the resource

*Problems with the current implementation*

   - The need to test and support the storage implementation across
   databases other than H2 and MYSQL
   - The need to replicate tenancy within the database schema
   - The need to enforce access control logic in the endpoint used to serve
   the resources

*Proposed Solution*

   - Store and serve the resources using the registry
   - *Advantages:*
  - There will not be any need to support multiple database types at
  the ES level
  - The use of registry roles to control access to the resources
  - *Open Questions:*
  - Is it prudent to serve content from the registry?


Thank You,
Sameera
-- 
Sameera Medagammaddegedara
Software Engineer

Contact:
Email: samee...@wso2.com
Mobile: + 94 077 255 3005
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Dimuthu Leelarathne
Hi,

There can be several methods, one being subscription management. However
since master branch is shared by all it would be interesting to know
whether a build was triggered on it by all. However even in the first phase
we must filter out activities happening on the fork repos. I think the
approach Manjula mentioned should be applied to forked repos.

Lets add all events to the doc life cycle and issue tracker events as well.

thanks,
dimuthu


On Tue, Aug 12, 2014 at 8:42 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi Manjula,

 Thanks for the input. I will try to utilize the above mentioned method in
 the second phase when trying to make the app wall more personalized.

 Regards
 GayanD


 On Tue, Aug 12, 2014 at 5:56 PM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi all,

 Personalized app-wall can be achieved by the way we publish activities to
 social component. In current implementation, we publish activities to two
 contexts called 'foo-user' and 'bar-app' which is rendered in wall as 'foo
 user wall' and 'bar app wall'. We can introduce another context for
 personalized activities called 'bar_app-foo_user' which can be rendered in
 'bar app wall' only for 'foo-user'.
 In short, we define contexts for each user for getting a personalized
 app-wall.

 thank you.


 On Tue, Aug 12, 2014 at 2:49 PM, Dmitry Sotnikov dmi...@wso2.com wrote:

 Gayan,

 Indeed, looks like Udara and I are thinking along the same lines. :)
 This is more than just a build. E.g. when I am creating an application,
 there are a lot of things that happen (borrowing from your list):

1. application creation started
2. initial git repo creation
3. jenkins space creation
4. issue tracker space creation
5. app authorization in cloud environments
6. application creation completed

 If I am creating an app - I'd like to see them all - because this takes
 the mystery out of the process and makes me more comfortable with the
 platform.

 If my team-member is creating an app - these 6 events and their progress
 are just noise. All I need to do is: Jane created a new Java app
 HelloWorld (if my role allows me to even know that this new app exists).

 Again, obviously this all can be phase two.

 Dmitry


 On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry. As
 soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion
 made by Dmitry in the above reply I think this will come into the picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com
 wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are
 the events which are triggered within each page. While some of them are
 already published, some of them needs to be published to the social
 component in order to enhance the user experience and collaboration. 
 While
 doing this we have encountered some issues and some resolutions are
 proposed to overcome those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no way 
 to
 represent an ongoing process. (e.g. application creation in progress, 
 build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the
 progress of that particular build, others may be interested to see the
 start and the end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes some
 time for a certain event to finish and app factory needs to capture both
 start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to complete

 Publishing both start and complete events with the same UUID as a
 event property would solve the problem. Then by looking at the event
 content we are able to find whether there is a completion event for a
 certain start event. This would be a global thing so the notification 
 wall
 logic can be written in such a manner that we need to have a look at only
 the UUID. If we use different mechanisms for tracking start and 
 completion
 events of different events the notification wall logic would be more
 complex when filtering out the events

 Your thoughts are welcome.

 [1] https://redmine.wso2.com/issues/3065

 Thanks
 GayanD

 --
 Gayan Dhanuska
 Software Engineer
 http://wso2.com/
 Lean Enterprise Middleware

 Mobile
 071 666 2327

 Office
 Tel   : 94 11 

Re: [Architecture] Storage of asset resources in the ES

2014-08-12 Thread Dakshika Jayathilaka
Hi,

IMO we need mechanism to store assets on external locations as wel. (ex:
dropbox, fileshare )
most of the time users do not want to waste their bandwidth on downloadable
stuff. but in this case we need to implement verification mechanism as wel.
(SHA or MD5 hash for linked files)

WDYT?

Regards,

*Dakshika Jayathilaka*
Software Engineer
WSO2, Inc.
lean.enterprise.middleware
0771100911


On Tue, Aug 12, 2014 at 5:53 PM, Sameera Medagammaddegedara 
samee...@wso2.com wrote:

 Hi Everyone,

 *Current State:*

- All the resources of an asset are stored in a database(e.g. images
and pdfs)
- The embedded H2 database is used as the default data source
 - CRUD operations are performed using an intermediate layer that
abstracts out the complexities of dealing with different database types
   - The business logic deals with an interface that uses get and put
   methods to access the storage layer
   - All resources are served from a single endpoint that is used to
control access based on the state of the asset that owns the resource

 *Problems with the current implementation*

- The need to test and support the storage implementation across
databases other than H2 and MYSQL
- The need to replicate tenancy within the database schema
- The need to enforce access control logic in the endpoint used to
serve the resources

 *Proposed Solution*

- Store and serve the resources using the registry
- *Advantages:*
   - There will not be any need to support multiple database types at
   the ES level
   - The use of registry roles to control access to the resources
   - *Open Questions:*
   - Is it prudent to serve content from the registry?


 Thank You,
 Sameera
 --
 Sameera Medagammaddegedara
 Software Engineer

 Contact:
 Email: samee...@wso2.com
 Mobile: + 94 077 255 3005

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Storage of asset resources in the ES

2014-08-12 Thread Chan
I believe - we first thought of implementing a sort of Storage App that
would perform this. Registry is used to store Meta-data -not Date by
itself. IMO -storing binary data would become a performance bottleneck for
the registry. I believe - we need to build a service (JAX-RS perhaps) that
handles these aspects. The service can further expand to storing it on a
database, storing it on disk or storing it on S3.

Since registry has implemented access management for assets -we can utilize
that by having a pseudo structure in the registry.

WDYT?

 Cheers~


On Wed, Aug 13, 2014 at 5:52 AM, Dakshika Jayathilaka daksh...@wso2.com
wrote:

 Hi,

 IMO we need mechanism to store assets on external locations as wel. (ex:
 dropbox, fileshare )
 most of the time users do not want to waste their bandwidth on
 downloadable stuff. but in this case we need to implement verification
 mechanism as wel. (SHA or MD5 hash for linked files)

 WDYT?

 Regards,

 *Dakshika Jayathilaka*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware
 0771100911


 On Tue, Aug 12, 2014 at 5:53 PM, Sameera Medagammaddegedara 
 samee...@wso2.com wrote:

 Hi Everyone,

 *Current State:*

- All the resources of an asset are stored in a database(e.g. images
and pdfs)
- The embedded H2 database is used as the default data source
 - CRUD operations are performed using an intermediate layer that
abstracts out the complexities of dealing with different database types
   - The business logic deals with an interface that uses get and put
   methods to access the storage layer
   - All resources are served from a single endpoint that is used to
control access based on the state of the asset that owns the resource

 *Problems with the current implementation*

- The need to test and support the storage implementation across
databases other than H2 and MYSQL
- The need to replicate tenancy within the database schema
- The need to enforce access control logic in the endpoint used to
serve the resources

 *Proposed Solution*

- Store and serve the resources using the registry
- *Advantages:*
   - There will not be any need to support multiple database types at
   the ES level
   - The use of registry roles to control access to the resources
   - *Open Questions:*
   - Is it prudent to serve content from the registry?


 Thank You,
 Sameera
 --
 Sameera Medagammaddegedara
 Software Engineer

 Contact:
 Email: samee...@wso2.com
 Mobile: + 94 077 255 3005

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
Chan (Dulitha Wijewantha)
Software Engineer - Mobile Development
WSO2 Inc
Lean.Enterprise.Mobileware
 * ~Email   duli...@wso2.com duli...@wso2mobile.com*
*  ~Mobile +94712112165 %2B94712112165*
*  ~Website   dulitha.me http://dulitha.me*
*  ~Twitter @dulitharw https://twitter.com/dulitharw*
  *~Github @dulichan https://github.com/dulichan*
  *~SO @chan http://stackoverflow.com/users/813471/chan*
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Storage of asset resources in the ES

2014-08-12 Thread Udara Rathnayake
Hi Dakshika,


On Wed, Aug 13, 2014 at 5:52 AM, Dakshika Jayathilaka daksh...@wso2.com
wrote:

 Hi,

 IMO we need mechanism to store assets on external locations as wel. (ex:
 dropbox, fileshare )
 most of the time users do not want to waste their bandwidth on
 downloadable stuff. but in this case we need to implement verification
 mechanism as wel. (SHA or MD5 hash for linked files)


If those resources are publicly available in any third-party service, you
can simply have compatible rxt definition and give that public downloadable
URL to access. I don't think we should support authentication mechanism for
third-party service OOTB since anyone can implement that as an extension
within ES using APIs provided by those service providers.

In order to check the integrity again we can have an extension according to
the APIs provided by service provider. So I still believe this is a more
specific use-case.


 WDYT?

 Regards,

 *Dakshika Jayathilaka*
 Software Engineer
 WSO2, Inc.
 lean.enterprise.middleware
 0771100911


 On Tue, Aug 12, 2014 at 5:53 PM, Sameera Medagammaddegedara 
 samee...@wso2.com wrote:

 Hi Everyone,

 *Current State:*

- All the resources of an asset are stored in a database(e.g. images
and pdfs)
- The embedded H2 database is used as the default data source
 - CRUD operations are performed using an intermediate layer that
abstracts out the complexities of dealing with different database types
   - The business logic deals with an interface that uses get and put
   methods to access the storage layer
   - All resources are served from a single endpoint that is used to
control access based on the state of the asset that owns the resource

 *Problems with the current implementation*

- The need to test and support the storage implementation across
databases other than H2 and MYSQL
- The need to replicate tenancy within the database schema
- The need to enforce access control logic in the endpoint used to
serve the resources

 *Proposed Solution*

- Store and serve the resources using the registry
- *Advantages:*
   - There will not be any need to support multiple database types at
   the ES level
   - The use of registry roles to control access to the resources
   - *Open Questions:*
   - Is it prudent to serve content from the registry?


 Thank You,
 Sameera
 --
 Sameera Medagammaddegedara
 Software Engineer

 Contact:
 Email: samee...@wso2.com
 Mobile: + 94 077 255 3005

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
*Udara Rathnayake*
Software Engineer
WSO2 Inc. : http://wso2.com

Mobile : +94 772207239
Twitter : http://twitter.com/udarakr
Blog: http://udarakr.blogspot.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] Facility to delete an asset through the UI in ES Publisher

2014-08-12 Thread Sameera Jayaratna
Hi,

I am currently working on [1], to facilitate deleting an asset through the
UI in Publisher. We plan to provide this based on the lifecycle state of
the asset. Therefore a set of states/a single state has to be defined as
'delete' state(s).

As per a discussion with SameeraM, there are two ways in which we can
present this to the user.

1. When a user clicks on the delete state,


   - A message prompt will appear to confirm the deletion
   - If user confirms, the asset will be permanently deleted and the state
   transition will occur showing the current state as the given 'delete'
   state.
   - Else, the state will remain as it is.
   - In this approach its meaningful to define only a single delete state,
   as entering the state means deletion of the asset.

2. When a user clicks on one of the delete states,


   - A 'delete asset' button will appear on a side of the current view
   - The user can choose to delete the asset or not.
   - In this approach we can have a set of states defined as delete states,
   in which the user *may *delete an asset if needed.

What is the best way to provide this functionality?

[1] https://wso2.org/jira/browse/STORE-120?filter=11919

Thank you,
Sameera

-- 



*Thanks  Regards,Sameera Jayaratna Software Engineer; **WSO2 Inc. *

*lean . enterprise . middleware |  http://wso2.com http://wso2.com *
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Facility to delete an asset through the UI in ES Publisher

2014-08-12 Thread Udara Rathnayake
Hi Sameera,

Is there a way to activate this delete state? Let's take an asset in
published life-cycle state, so are we going to allow user to click on
delete state and then remove the asset?
If yes, how we going to manage current subscribers for that particular
asset?

Regards,
UdaraR


On Wed, Aug 13, 2014 at 9:11 AM, Sameera Jayaratna samee...@wso2.com
wrote:

 Hi,

 I am currently working on [1], to facilitate deleting an asset through the
 UI in Publisher. We plan to provide this based on the lifecycle state of
 the asset. Therefore a set of states/a single state has to be defined as
 'delete' state(s).

 As per a discussion with SameeraM, there are two ways in which we can
 present this to the user.

 1. When a user clicks on the delete state,


- A message prompt will appear to confirm the deletion
- If user confirms, the asset will be permanently deleted and the
state transition will occur showing the current state as the given 'delete'
state.
- Else, the state will remain as it is.
- In this approach its meaningful to define only a single delete
state, as entering the state means deletion of the asset.

 2. When a user clicks on one of the delete states,


- A 'delete asset' button will appear on a side of the current view
- The user can choose to delete the asset or not.
- In this approach we can have a set of states defined as delete
states, in which the user *may *delete an asset if needed.

 What is the best way to provide this functionality?

 [1] https://wso2.org/jira/browse/STORE-120?filter=11919

 Thank you,
 Sameera

 --



 *Thanks  Regards, Sameera Jayaratna Software Engineer; **WSO2 Inc. *

 *lean . enterprise . middleware |  http://wso2.com http://wso2.com *

 ___
 Architecture mailing list
 Architecture@wso2.org
 https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




-- 
*Udara Rathnayake*
Software Engineer
WSO2 Inc. : http://wso2.com

Mobile : +94 772207239
Twitter : http://twitter.com/udarakr
Blog: http://udarakr.blogspot.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Anuruddha Premalal
Hi Gayan,

We'll also need to consider about the failure events while tracking the
progress.

eg. Deployment failure should stop the progress of the deployment event.

So we'll have to keep track on start, failure and stop status of a
particular event.

Other concern is assigning UUID's for events. These events are not fired
from a central point how are we going to associate a UUID to track them?

Regards,
Anuruddha.



On Wed, Aug 13, 2014 at 5:37 AM, Dimuthu Leelarathne dimut...@wso2.com
wrote:

 Hi,

 There can be several methods, one being subscription management. However
 since master branch is shared by all it would be interesting to know
 whether a build was triggered on it by all. However even in the first phase
 we must filter out activities happening on the fork repos. I think the
 approach Manjula mentioned should be applied to forked repos.

 Lets add all events to the doc life cycle and issue tracker events as well.

 thanks,
 dimuthu


 On Tue, Aug 12, 2014 at 8:42 PM, Gayan Dhanushka gay...@wso2.com wrote:

 Hi Manjula,

 Thanks for the input. I will try to utilize the above mentioned method in
 the second phase when trying to make the app wall more personalized.

 Regards
 GayanD


 On Tue, Aug 12, 2014 at 5:56 PM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi all,

 Personalized app-wall can be achieved by the way we publish activities
 to social component. In current implementation, we publish activities to
 two contexts called 'foo-user' and 'bar-app' which is rendered in wall as
 'foo user wall' and 'bar app wall'. We can introduce another context for
 personalized activities called 'bar_app-foo_user' which can be rendered in
 'bar app wall' only for 'foo-user'.
 In short, we define contexts for each user for getting a personalized
 app-wall.

 thank you.


 On Tue, Aug 12, 2014 at 2:49 PM, Dmitry Sotnikov dmi...@wso2.com
 wrote:

 Gayan,

 Indeed, looks like Udara and I are thinking along the same lines. :)
 This is more than just a build. E.g. when I am creating an application,
 there are a lot of things that happen (borrowing from your list):

1. application creation started
2. initial git repo creation
3. jenkins space creation
4. issue tracker space creation
5. app authorization in cloud environments
6. application creation completed

 If I am creating an app - I'd like to see them all - because this takes
 the mystery out of the process and makes me more comfortable with the
 platform.

 If my team-member is creating an app - these 6 events and their
 progress are just noise. All I need to do is: Jane created a new Java app
 HelloWorld (if my role allows me to even know that this new app exists).

 Again, obviously this all can be phase two.

 Dmitry


 On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry. As
 soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion 
 made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion
 made by Dmitry in the above reply I think this will come into the picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com
 wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi all,

 We have identified that the events in the doc attached herewith are
 the events which are triggered within each page. While some of them are
 already published, some of them needs to be published to the social
 component in order to enhance the user experience and collaboration. 
 While
 doing this we have encountered some issues and some resolutions are
 proposed to overcome those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no 
 way to
 represent an ongoing process. (e.g. application creation in progress, 
 build
 is in progress etc.)

 Here we have to think about the user experience.
 IMO the user who triggered the build only interested to see the
 progress of that particular build, others may be interested to see the
 start and the end but not the progress.

 WDYT?


 The same problem would be applied to any scenario where it takes
 some time for a certain event to finish and app factory needs to capture
 both start and completion events related to a particular instance.

 *Solution* : Use a UUID to track events which takes time to
 complete

 Publishing both start and complete events with the same UUID as a
 event property would solve the problem. Then by looking at the event
 content we are able to find whether there is a completion event for a
 certain start event. This would be a global 

Re: [Architecture] [App Factory] Improvements to application wall

2014-08-12 Thread Gayan Dhanushka
Hi Anuruddha / Dimuthu,

The more global this ID is for all the events makes it more consistent.
Otherwise we'll have to render these messages according to different
parameters which are there in each message. Having said that we need to
figure out a common way of doing this. Doing this by looking at the message
content is not a good approach I guess. Need to figure out a better way of
doing this.

Gayan


On Wed, Aug 13, 2014 at 10:38 AM, Dimuthu Leelarathne dimut...@wso2.com
wrote:

 Hi all,

 Good question. How about generating an ID that can be generated equally
 from both sides. For example, if it is build then buildID. If it is
 deployment then md5 sum. The more unique the the ID is, then we have less
 work in identifying decoding user/event.

 thanks,
 dimuthu


 On Wed, Aug 13, 2014 at 10:30 AM, Anuruddha Premalal anurud...@wso2.com
 wrote:

 Hi Gayan,

 We'll also need to consider about the failure events while tracking the
 progress.

 eg. Deployment failure should stop the progress of the deployment event.

 So we'll have to keep track on start, failure and stop status of a
 particular event.

 Other concern is assigning UUID's for events. These events are not fired
 from a central point how are we going to associate a UUID to track them?

 Regards,
 Anuruddha.



 On Wed, Aug 13, 2014 at 5:37 AM, Dimuthu Leelarathne dimut...@wso2.com
 wrote:

 Hi,

 There can be several methods, one being subscription management. However
 since master branch is shared by all it would be interesting to know
 whether a build was triggered on it by all. However even in the first phase
 we must filter out activities happening on the fork repos. I think the
 approach Manjula mentioned should be applied to forked repos.

 Lets add all events to the doc life cycle and issue tracker events as
 well.

 thanks,
 dimuthu


 On Tue, Aug 12, 2014 at 8:42 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi Manjula,

 Thanks for the input. I will try to utilize the above mentioned method
 in the second phase when trying to make the app wall more personalized.

 Regards
 GayanD


 On Tue, Aug 12, 2014 at 5:56 PM, Manjula Rathnayake manju...@wso2.com
 wrote:

 Hi all,

 Personalized app-wall can be achieved by the way we publish activities
 to social component. In current implementation, we publish activities to
 two contexts called 'foo-user' and 'bar-app' which is rendered in wall as
 'foo user wall' and 'bar app wall'. We can introduce another context for
 personalized activities called 'bar_app-foo_user' which can be rendered in
 'bar app wall' only for 'foo-user'.
 In short, we define contexts for each user for getting a personalized
 app-wall.

 thank you.


 On Tue, Aug 12, 2014 at 2:49 PM, Dmitry Sotnikov dmi...@wso2.com
 wrote:

 Gayan,

 Indeed, looks like Udara and I are thinking along the same lines. :)
 This is more than just a build. E.g. when I am creating an application,
 there are a lot of things that happen (borrowing from your list):

1. application creation started
2. initial git repo creation
3. jenkins space creation
4. issue tracker space creation
5. app authorization in cloud environments
6. application creation completed

 If I am creating an app - I'd like to see them all - because this
 takes the mystery out of the process and makes me more comfortable with 
 the
 platform.

 If my team-member is creating an app - these 6 events and their
 progress are just noise. All I need to do is: Jane created a new Java 
 app
 HelloWorld (if my role allows me to even know that this new app exists).

 Again, obviously this all can be phase two.

 Dmitry


 On Tue, Aug 12, 2014 at 1:07 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi Dmitry,

 Thanks for pointing things out. IMO that would be phase two Dmitry.
 As soon as I complete publishing all the relevant events I will look to
 accommodate the noise-reduction filter as well. WDYT of the suggestion 
 made
 by Udara in the above reply? I think that is a valid comment as well.

 Hi Udara,

 The point that you are making is valid I think. With the suggestion
 made by Dmitry in the above reply I think this will come into the 
 picture.

 Thanks
 GayanD


 On Tue, Aug 12, 2014 at 2:27 PM, Udara Rathnayake uda...@wso2.com
 wrote:

 Hi Gayan,

 See my comment in-line.

 On Tue, Aug 12, 2014 at 1:54 PM, Gayan Dhanushka gay...@wso2.com
 wrote:

 Hi all,

 We have identified that the events in the doc attached herewith
 are the events which are triggered within each page. While some of 
 them are
 already published, some of them needs to be published to the social
 component in order to enhance the user experience and collaboration. 
 While
 doing this we have encountered some issues and some resolutions are
 proposed to overcome those issues.

 *Problem*: There is no way to track whether a certain build or a
 deployment instance triggered by someone is completed.(No association
 between start and finish events for a certain instance). There is no