Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Lasantha Fernando
Hi Nayantara,

Can you provide a bit more information on how you are generating the query
based on the icons that are dropped to editor?

I assume we are working on the top level design currently and maybe not
finalized how the query generation happens. But is there a rough idea on
how the query generation would happen? i.e. Are we mapping the query from
the configurations of the query/stream directly at front end? Or will we
have another intermediate layer that will map the visual configuration to
the query?

As the editor evolves, I believe features such as refactoring queries will
be useful. For providing such features, it might help to keep some sort of
object model that maps the icons to queries. Such an object model might
help in developing the validation scheme as well. WDYT?

Thanks,
Lasantha

On 8 June 2016 at 12:12, Nayantara Jeyaraj  wrote:

> Hi Malaka,
> The user will be given the privilege to type in his/her own query. The
> conceptualization so far is that, when a query icon is dropped, a
> properties panel pops up (just as it did for the stream) and the user can
> type in his entire query in a text field.
>
> On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:
>
>> Hi Nayantara
>> ​,
>>
>> With this GUI can we create queries on demand or should be predefined?​
>>
>> On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj 
>> wrote:
>>
>>> ​I am currently working on the Design and Implementation of the Siddhi
>>> Visual Editor for WSO2's CEP. The tasks completed and on-going have been
>>> listed out below. Your input will be appreciated.
>>>
>>> The interface will consist of a Toolbox/palette, a canvas and a
>>> Properties panel that appears upon clicking the toolbar icon of each
>>> element.
>>>
>>> *Tasks completed:*
>>>
>>>-
>>>
>>>Functionality that enables dragging an object from the palette and
>>>dropping it onto the canvas.
>>>-
>>>
>>>Permitting the Creation of multiple connections between anchors from
>>>varied sources and storing data in an array regarding the connections for
>>>further utilization.
>>>-
>>>
>>>Deleting Connections along with the parent element.
>>>
>>> *Currently working on:*
>>>
>>>-
>>>
>>>Changing the property attributes such as stream name and stream
>>>definition of dropped elements (Stream name will be displayed on the
>>>respective icon when saved).
>>>
>>> *Eg:*
>>>
>>> from TempStream
>>>
>>> select roomNo, temp
>>>
>>> insert into RoomTempStream;
>>>
>>>
>>> *The toolbar will hold:*
>>>
>>> 1. A stream icon
>>>
>>> 2. A query icon
>>>
>>> Once a stream has been dragged on to the canvas, the
>>> type(import/export/temporary) can be selected in the properties panel and
>>> thereafter it will be validated against the available schema and
>>> dropped(The validation part has not been done yet). Then a query can
>>> consume one or more event streams and generate a new event stream from
>>> them.
>>>
>>> *A Tempstream will be created with the following attributes:*
>>>
>>> define stream TempStream(deviceID long, roomNo int, temp double);
>>>
>>> So when the event stream icon is dropped onto the canvas, the properties
>>> panel for that event stream appears permitting the set up of the event
>>> stream.
>>>
>>> *Requested Stream Property Data in the properties panel:*
>>>
>>> Event stream type: import/ export/ temporary
>>>
>>> Event stream Name: 
>>>
>>> Event stream definition:  Derived from an existing stream
>>>
>>> Following this, a query can consume this stream. The query will not be
>>> decomposed into its minuscule details but will be merely considered as one
>>> unit.
>>>
>>> From the above example, the query filters out only the temperature of
>>> the respective room from the TempStream and generates a new RoomTempStream.
>>>
>>>
>>> The Visual Representation of the above ( Relevant icons will be used):
>>>
>>> tempStream ->  query  ->  RoomTempStream
>>>
>>>
>>> Th following query types can be chosen when dealing with the query object
>>>
>>> 1. Pass-through (Prioritized at present)
>>>
>>> 2. Filters
>>>
>>> 3. Window
>>>
>>> 4. Joins
>>>
>>>
>>> Fig1: BasicUI developed to date
>>>
>>>
>>> ​
>>>
>>> ___
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>>
>> Best Regards,
>>
>> Malaka Silva
>> Senior Technical Lead
>> M: +94 777 219 791
>> Tel : 94 11 214 5345
>> Fax :94 11 2145300
>> Skype : malaka.sampath.silva
>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>> Blog : http://mrmalakasilva.blogspot.com/
>>
>> WSO2, Inc.
>> lean . enterprise . middleware
>> http://www.wso2.com/
>> http://www.wso2.com/about/team/malaka-silva/
>> 
>> https://store.wso2.com/store/
>>
>> Save a tree -Conserve nature & Save the world for your future. Print this
>> email only if it is absolutely necessary.
>>
>> 

Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Tishan Dahanayakage
Damith,

Are you suggesting following flow.
Create import stream -> Create temporary stream which consumes import
stream -> Create query which consumes temporary stream?

Thanks
/Tishan

On Wed, Jun 8, 2016 at 12:28 PM, Damith Wickramasinghe 
wrote:

> Hi Tishan,
>
> When it comes to UI level we need a clear separation of import , export
> and temporary streams. Ideally in UI we can have separate color coding to
> these three streams but once this stream component dragged and dropped we
> need to select whether its a 'import/export/temporary and CEP stream ID can
> be either import or export and Siddhi Stream ID is the temporary one. I
> think having import/export/temporary (we can decide a better name for
> temporary) is much more understandable IMO . WDYT ?
>
> Regards,
> Damith.
>
> On Wed, Jun 8, 2016 at 12:11 PM, Tishan Dahanayakage 
> wrote:
>
>> Hi Nayantara,
>>
>> Where can I find the scope of this project? Are we planning on
>> decomposing queries in future or not?
>>
>> Also when handling stream as you may already know there are stream
>> definitions in databridge level and also Siddhi level. Inside a execution
>> plan we map a databridge definition to Siddhi definition and vise versa. I
>> suppose that is what you are trying to do with stream name and stream
>> definition attributes in properties window. If that is the case I suggest
>> we have the parameters as 'CEP Stream ID' and 'Siddhi Stream ID' apart from
>> 'Definition' and 'import/export/temporary'. If it isn't the case please
>> explain.
>>
>> Thanks,
>> /Tishan
>>
>> On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:
>>
>>> Hi Nayantara
>>> ​,
>>>
>>> With this GUI can we create queries on demand or should be predefined?​
>>>
>>> On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj 
>>> wrote:
>>>
 ​I am currently working on the Design and Implementation of the Siddhi
 Visual Editor for WSO2's CEP. The tasks completed and on-going have been
 listed out below. Your input will be appreciated.

 The interface will consist of a Toolbox/palette, a canvas and a
 Properties panel that appears upon clicking the toolbar icon of each
 element.

 *Tasks completed:*

-

Functionality that enables dragging an object from the palette and
dropping it onto the canvas.
-

Permitting the Creation of multiple connections between anchors
from varied sources and storing data in an array regarding the 
 connections
for further utilization.
-

Deleting Connections along with the parent element.

 *Currently working on:*

-

Changing the property attributes such as stream name and stream
definition of dropped elements (Stream name will be displayed on the
respective icon when saved).

 *Eg:*

 from TempStream

 select roomNo, temp

 insert into RoomTempStream;


 *The toolbar will hold:*

 1. A stream icon

 2. A query icon

 Once a stream has been dragged on to the canvas, the
 type(import/export/temporary) can be selected in the properties panel and
 thereafter it will be validated against the available schema and
 dropped(The validation part has not been done yet). Then a query can
 consume one or more event streams and generate a new event stream from
 them.

 *A Tempstream will be created with the following attributes:*

 define stream TempStream(deviceID long, roomNo int, temp double);

 So when the event stream icon is dropped onto the canvas, the
 properties panel for that event stream appears permitting the set up of the
 event stream.

 *Requested Stream Property Data in the properties panel:*

 Event stream type: import/ export/ temporary

 Event stream Name: 

 Event stream definition:  Derived from an existing stream

 Following this, a query can consume this stream. The query will not be
 decomposed into its minuscule details but will be merely considered as one
 unit.

 From the above example, the query filters out only the temperature of
 the respective room from the TempStream and generates a new RoomTempStream.


 The Visual Representation of the above ( Relevant icons will be used):

 tempStream ->  query  ->  RoomTempStream


 Th following query types can be chosen when dealing with the query
 object

 1. Pass-through (Prioritized at present)

 2. Filters

 3. Window

 4. Joins


 Fig1: BasicUI developed to date


 ​

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


>>>
>>>
>>> --
>>>
>>> Best Regards,
>>>
>>> Malaka Silva
>>> Senior Technical Lead
>>> 

Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Damith Wickramasinghe
Hi Tishan,

I'm suggesting import stream -> temporary stream -> export stream

Regards,
Damith.



On Wed, Jun 8, 2016 at 12:41 PM, Tishan Dahanayakage 
wrote:

> Damith,
>
> Are you suggesting following flow.
> Create import stream -> Create temporary stream which consumes import
> stream -> Create query which consumes temporary stream?
>
> Thanks
> /Tishan
>
> On Wed, Jun 8, 2016 at 12:28 PM, Damith Wickramasinghe 
> wrote:
>
>> Hi Tishan,
>>
>> When it comes to UI level we need a clear separation of import , export
>> and temporary streams. Ideally in UI we can have separate color coding to
>> these three streams but once this stream component dragged and dropped we
>> need to select whether its a 'import/export/temporary and CEP stream ID can
>> be either import or export and Siddhi Stream ID is the temporary one. I
>> think having import/export/temporary (we can decide a better name for
>> temporary) is much more understandable IMO . WDYT ?
>>
>> Regards,
>> Damith.
>>
>> On Wed, Jun 8, 2016 at 12:11 PM, Tishan Dahanayakage 
>> wrote:
>>
>>> Hi Nayantara,
>>>
>>> Where can I find the scope of this project? Are we planning on
>>> decomposing queries in future or not?
>>>
>>> Also when handling stream as you may already know there are stream
>>> definitions in databridge level and also Siddhi level. Inside a execution
>>> plan we map a databridge definition to Siddhi definition and vise versa. I
>>> suppose that is what you are trying to do with stream name and stream
>>> definition attributes in properties window. If that is the case I suggest
>>> we have the parameters as 'CEP Stream ID' and 'Siddhi Stream ID' apart from
>>> 'Definition' and 'import/export/temporary'. If it isn't the case please
>>> explain.
>>>
>>> Thanks,
>>> /Tishan
>>>
>>> On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:
>>>
 Hi Nayantara
 ​,

 With this GUI can we create queries on demand or should be predefined?​

 On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj 
 wrote:

> ​I am currently working on the Design and Implementation of the Siddhi
> Visual Editor for WSO2's CEP. The tasks completed and on-going have been
> listed out below. Your input will be appreciated.
>
> The interface will consist of a Toolbox/palette, a canvas and a
> Properties panel that appears upon clicking the toolbar icon of each
> element.
>
> *Tasks completed:*
>
>-
>
>Functionality that enables dragging an object from the palette and
>dropping it onto the canvas.
>-
>
>Permitting the Creation of multiple connections between anchors
>from varied sources and storing data in an array regarding the 
> connections
>for further utilization.
>-
>
>Deleting Connections along with the parent element.
>
> *Currently working on:*
>
>-
>
>Changing the property attributes such as stream name and stream
>definition of dropped elements (Stream name will be displayed on the
>respective icon when saved).
>
> *Eg:*
>
> from TempStream
>
> select roomNo, temp
>
> insert into RoomTempStream;
>
>
> *The toolbar will hold:*
>
> 1. A stream icon
>
> 2. A query icon
>
> Once a stream has been dragged on to the canvas, the
> type(import/export/temporary) can be selected in the properties panel and
> thereafter it will be validated against the available schema and
> dropped(The validation part has not been done yet). Then a query can
> consume one or more event streams and generate a new event stream from
> them.
>
> *A Tempstream will be created with the following attributes:*
>
> define stream TempStream(deviceID long, roomNo int, temp double);
>
> So when the event stream icon is dropped onto the canvas, the
> properties panel for that event stream appears permitting the set up of 
> the
> event stream.
>
> *Requested Stream Property Data in the properties panel:*
>
> Event stream type: import/ export/ temporary
>
> Event stream Name: 
>
> Event stream definition:  Derived from an existing stream
>
> Following this, a query can consume this stream. The query will not be
> decomposed into its minuscule details but will be merely considered as one
> unit.
>
> From the above example, the query filters out only the temperature of
> the respective room from the TempStream and generates a new 
> RoomTempStream.
>
>
> The Visual Representation of the above ( Relevant icons will be used):
>
> tempStream ->  query  ->  RoomTempStream
>
>
> Th following query types can be chosen when dealing with the query
> object
>
> 1. Pass-through (Prioritized at present)
>
> 2. Filters
>
> 3. Window
>
> 4. Joins
>
>

Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Sajith Ravindra
Hi Nayanthara,

AFAIU the query is more of a template in the scope of this project where
you get the parameters and convert it into a passthrough, join or another
type of a query. So, is the plan is to add support to different types of
queries as we go forward? IMO, it might not be a scalable solution. Can't
we let the user define the query as a set of constructs(i.e select, insert,
join, etc..). To start with we can support few basic ones like select,
insert.
That wlll actually give the user the experience of visully constructing the
query. WDYT?



Thanks
*,Sajith Ravindra*
Senior Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 77 2273550
blog: http://sajithr.blogspot.com/


On Wed, Jun 8, 2016 at 12:40 PM, Lasantha Fernando 
wrote:

> Hi Nayantara,
>
> Can you provide a bit more information on how you are generating the query
> based on the icons that are dropped to editor?
>
> I assume we are working on the top level design currently and maybe not
> finalized how the query generation happens. But is there a rough idea on
> how the query generation would happen? i.e. Are we mapping the query from
> the configurations of the query/stream directly at front end? Or will we
> have another intermediate layer that will map the visual configuration to
> the query?
>
> As the editor evolves, I believe features such as refactoring queries will
> be useful. For providing such features, it might help to keep some sort of
> object model that maps the icons to queries. Such an object model might
> help in developing the validation scheme as well. WDYT?
>
> Thanks,
> Lasantha
>
> On 8 June 2016 at 12:12, Nayantara Jeyaraj  wrote:
>
>> Hi Malaka,
>> The user will be given the privilege to type in his/her own query. The
>> conceptualization so far is that, when a query icon is dropped, a
>> properties panel pops up (just as it did for the stream) and the user can
>> type in his entire query in a text field.
>>
>> On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:
>>
>>> Hi Nayantara
>>> ​,
>>>
>>> With this GUI can we create queries on demand or should be predefined?​
>>>
>>> On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj 
>>> wrote:
>>>
 ​I am currently working on the Design and Implementation of the Siddhi
 Visual Editor for WSO2's CEP. The tasks completed and on-going have been
 listed out below. Your input will be appreciated.

 The interface will consist of a Toolbox/palette, a canvas and a
 Properties panel that appears upon clicking the toolbar icon of each
 element.

 *Tasks completed:*

-

Functionality that enables dragging an object from the palette and
dropping it onto the canvas.
-

Permitting the Creation of multiple connections between anchors
from varied sources and storing data in an array regarding the 
 connections
for further utilization.
-

Deleting Connections along with the parent element.

 *Currently working on:*

-

Changing the property attributes such as stream name and stream
definition of dropped elements (Stream name will be displayed on the
respective icon when saved).

 *Eg:*

 from TempStream

 select roomNo, temp

 insert into RoomTempStream;


 *The toolbar will hold:*

 1. A stream icon

 2. A query icon

 Once a stream has been dragged on to the canvas, the
 type(import/export/temporary) can be selected in the properties panel and
 thereafter it will be validated against the available schema and
 dropped(The validation part has not been done yet). Then a query can
 consume one or more event streams and generate a new event stream from
 them.

 *A Tempstream will be created with the following attributes:*

 define stream TempStream(deviceID long, roomNo int, temp double);

 So when the event stream icon is dropped onto the canvas, the
 properties panel for that event stream appears permitting the set up of the
 event stream.

 *Requested Stream Property Data in the properties panel:*

 Event stream type: import/ export/ temporary

 Event stream Name: 

 Event stream definition:  Derived from an existing stream

 Following this, a query can consume this stream. The query will not be
 decomposed into its minuscule details but will be merely considered as one
 unit.

 From the above example, the query filters out only the temperature of
 the respective room from the TempStream and generates a new RoomTempStream.


 The Visual Representation of the above ( Relevant icons will be used):

 tempStream ->  query  ->  RoomTempStream


 Th following query types can be chosen when dealing with the query

[Architecture] Identity Management Recovery API improvements.

2016-06-08 Thread Isura Karunaratne
Identity Management Recovery API improvements.

In Identity Server 5.3.0, we are going to implement Identity Management
recovery APIs as rest resources. In current implementations of IS5.0.0,
IS5.1.0 we have soap APIs for recovery scenarios. [1].

Captcha validation is coupled with recovery flows in existing soap API
implementation and we have improved Java API to decouple to the captcha
validation from recovery flows in new implementations. [4]
Existing soap APIs.Recover with Notification [2]

   -

   getCaptcha() -­ Generates a captcha.
   -

   verifyUser() -­ Validates the captcha answer and username and returns a
   new key.
   -

   sendRecoveryNotification() -­ Send an email notification with a
   confirmation code to the user. Need to provide the key from the previous
   call.
   -

   getCaptcha() ­- Generates a captcha when the user clicks on the URL.
   -

   verifyConfirmationCode() -­ Validates the captcha answer and
   confirmation code. This returns a key.
   -

   updatePassword -­ Updates the password in the system. Need to provide
   the key from the previous call, new password and returns the status of the
   update, true or false.

Recover with Secret Questions[3]

   -

   getCaptcha() ­- Generates a captcha.
   -

   verifyUser() ­- Validates the captcha answer and username and returns a
   new key.
   -

   getUserChallengeQuestionIds() ­- Retrieve the claim URI IDs specified
   for the user with the generated key. Need to provide the key from the
   previous call.
   -

   getUserChallengeQuestion() ­- Retrieve the user’s challenge question for
   the specified claim URI ID from the previous call. Need to provide the key
   from the previous call.
   -

   verifyUserChallengeAnswer() ­- Validates the answer and confirmation
   code for the specified question. Need to provide the key from the previous
   call.
   -

   updatePassword() ­- Updates the password in the system. Need to provide
   the key from the previous call, the new password and return the status of
   the update, i.e. true or false.





New APIs
Recover with Notification

   -

   sendRecoveryNotification() : validate user and returns a new key through
   a notification.
   -

   updatePassword() : Updates the password in the system. Need to provide
   the key from notification, new password


Recover with Secret Questions

   -

   intiateUserChallengeQuestion(); ­validate user and returns a question to
   answer with a secret code
   -

   verifyUserChallengeAnswer(); validate secret code and answer for the
   question in previous step. Return a new question with new secret until
   minimum number of questions are answered.
   -

   updatePassword(); Updates the password in the system. Need to provide
   the key from notification, new password



New APIs for Multiple Questions at once

   -

   getAllChallegeQuestions(); validate user and returns all questions to
   answer with a secret code
   -

   validateAllChallengeAnswers(); validate code and all answers and return
   a code if success
   -

   updatePassword();Updates the password in the system. Need to provide the
   key from notification, new password











[1] https://docs.wso2.com/display/IS510/Password+Recovery

[2]
https://docs.wso2.com/display/IS510/Password+Recovery#PasswordRecovery-Recoveryusingnotifications

[3]
https://docs.wso2.com/display/IS510/Password+Recovery#PasswordRecovery-Recoveryusingchallengequestions

[4] [Architecture] Decouple capcha validation from Recovery flows



Sample Requests
Send Email Notification

POST accountrecovery/rest/notification/notify



Request Body

 {

"userName": "testuser",

"tenantDomain": "carbon.super",

 "userStoreDomain": "PRIMARY"

}


If notifications are internally managed,

Response Body

HTTP 200


If notifications are externally managed,

Response Body

{

"user": {

"userName": "testuser",

"userStoreDomain": "PRIMARY",

"tenantDomain": "carbon.super"

},

"key": "f75da810-3478-47f4-80e5-c37556392015"

}





*Reset Password.*

PUT /accountrecovery/rest/notification/reset_password

Request Body

{

"user": {

"userName": "test",

"userStoreDomain": "PRIMARY",

"tenantDomain": "carbon.super"

},

"code": "e4d6041b-2ea7-4dc1-9ae2-b8e9686e1d12",

"password": "12345"

}


Response Body

HTTP 200





Initiate User Challenge Question

PUT /accountrecovery/rest/questions/initiate



Request Body

{

"userName": "admin",

"userStoreDomain": "PRIMARY",

"tenantDomain": "carbon.super"

}



Response body

{

   "question": "City where you were born ?",

   "questionSetId": "http://wso2.org/claims/challengeQuestion1";,

   "code": "786f63b6-d0b7-4bd7-991e-12e97e4602e3",

   "status": "INCOMPLETE"

}




Validate User Challenge Question,

POST /accountrecovery/security_questions_response

Request Body

{

"user": {

"userName": "admin",

"userStoreDomain": "PRIMARY",

"tenantDomain": "carbon.super"

},

"key": "12454125-15145-

Re: [Architecture] [IS] Supporting user information recovery scenarios in IS user portal

2016-06-08 Thread Isura Karunaratne
Hi Malithi,


On Wed, Jun 8, 2016 at 10:28 AM, Malithi Edirisinghe 
wrote:

> Hi All,
>
> I have following concern with regard to moving the account recovery web
> application from OOTB supported KAPTCHA to google reCaptcha.
>
> As noted at [1], we should have an API key pair. Thus, we will not be able
> to enable this for the webapp by default (with the fresh IS server pack).
> Further, previously, captcha validation is a must for recovery API calls(
> Ex: Password Recovery).
> So does the new implementation enforce that verification?
> If it does, we would also not be able to view those recovery options by
> default.
>
> @Isura,
> Could you please initiate a thread on the design of the new Identity
> Management APIs
>

You can refer new thread of Identity Management Rest APIs  from [1]



[1]  [Architecture] Identity Management Recovery API improvements.

Thanks
Isura


> [1][Architecture] [IS] Support for Google reCapth
>
> Thanks,
> Malithi.
>
> On Tue, Jun 7, 2016 at 11:33 AM, Thanuja Jayasinghe 
> wrote:
>
>> Hi Omindu,
>>
>> Yes. We can't use reCaptcha without internet. But the chance of having
>> Bots attack from a internal network is very less. So we can either disable
>> reCaptcha when server is not connect to the internet or have the old
>> captcha implementation.
>>
>> +1 for keep the existing captcha implementation. But we have to modify
>> login, self-registration and recovery flows to add captcha/reCaptcha in a
>> pluggable manner.
>>
>> Thanks,
>> Thanuja.
>>
>> On Tue, Jun 7, 2016 at 11:14 AM, Isura Karunaratne 
>> wrote:
>>
>>> Hi,
>>>
>>> On Tue, Jun 7, 2016 at 10:47 AM, Omindu Rathnaweera 
>>> wrote:
>>>
 Hi Isura,

 Since reCaptcha requires to call Google's services for captcha
 generation and validation, we won't be able to use the dashboard with
 captcha when we are running IS in an environment without internet
 connectivity. I'm assuming we are not shipping the old captcha
 implementation in 5.3.0 so a user will not be able to switch to an
 internally managed captcha implementation with a simple config change.

 It'll be good if we can make the old captcha implementation (or a
 similar implementation) available (by means of an extension or a sample
 maybe ?) so a user can switch to an internally managed captcha model
 without much work. WDYT ?

>>>
>>> +1. but, we better to decouple old captcha implementation with recovery
>>> flows.
>>>
>>> Thanks
>>> Isura
>>>
>>>
 Regards,
 Omindu.

 On Sun, Jun 5, 2016 at 12:35 PM, Malithi Edirisinghe >>> > wrote:

> Hi Isura,
>
> Noted.
>
> I've got one more concern.
> Initially, as you may have noted in the top most mail, recovery
> scenarios were to be supported in the login page of the end user
> dashboard in IS. But in a consecutive discussion it was highlighted that
> these options should be provided in the default SSO login page. Thus, upon
> a successful recovery or registration, the flow should be as below.
>
>1. End user will be redirected to the login page.
>2. End user will enter the credentials
>3. End user is authenticated and upon successful authentication
>user will be redirected to the Service Provider application (Ex: ACS 
> url of
>the SP).
>
> So at the moment, we are using the param 'sessionDataKey' to map the
> server session across modules, which can be used even here to retrieve the
> respective Service Provider who initiated the flow. But, when it comes to
> recovery with notifications there is no parameter being communicated to
> identify the respective Service Provider. Can we please address this also,
> along with this effort ?
>
> Thanks,
> Malithi.
>
> On Sun, Jun 5, 2016 at 8:39 AM, Isura Karunaratne 
> wrote:
>
>> Hi Malithi,
>>
>> These steps seem to be ok. However we are going to move from KAPCHA
>> to google reCaptcha in IS 5.3.0 and this captcha implementation is
>> decoupled with each flow you mentioned. So, in new implementation captcha
>> validation will happen before invoking to the backend APIs.
>>
>> In "security questions based password recovery flow", we are going to
>> add a new parameter to parameterize the minimum number of questions that
>> user should be answered to recover the password. In the previous releases
>> (IS 5, IS5.1.0) this is an application side configuration and it was not 
>> a
>> server side configuration. With IS 5.3.0 onwards tenant admin can define
>> the minimum number of questions that user should be answered to recover 
>> the
>> password.
>>
>> Thanks
>> Isura
>>
>>
>>
>> On Fri, Apr 29, 2016 at 11:40 AM, Malithi Edirisinghe <
>> malit...@wso2.com> wrote:
>>
>>> Hi All,
>>>
>>> We are working on $subject.
>>>
>>> So with this, we will be sup

Re: [Architecture] [IS] Supporting user information recovery scenarios in IS user portal

2016-06-08 Thread Darshana Gunawardana
Hi Malithi,

On Wed, Jun 8, 2016 at 10:28 AM, Malithi Edirisinghe 
wrote:

> Hi All,
>
> I have following concern with regard to moving the account recovery web
> application from OOTB supported KAPTCHA to google reCaptcha.
>
> As noted at [1], we should have an API key pair. Thus, we will not be able
> to enable this for the webapp by default (with the fresh IS server pack).
>

There will be a default key pair that can be used in the default pack.

Further, previously, captcha validation is a must for recovery API calls(
> Ex: Password Recovery).
> So does the new implementation enforce that verification?
> If it does, we would also not be able to view those recovery options by
> default.
>

As per new captcha implementation, captcha enforcement is decoupled from
the backend API and new generic filter take care of handling the captcha.

So any web app don't have to invoke additional APIs to handle captcha.

Regards,
Darshana.

>
> @Isura,
> Could you please initiate a thread on the design of the new Identity
> Management APIs
>
> [1][Architecture] [IS] Support for Google reCapth
>
> Thanks,
> Malithi.
>
> On Tue, Jun 7, 2016 at 11:33 AM, Thanuja Jayasinghe 
> wrote:
>
>> Hi Omindu,
>>
>> Yes. We can't use reCaptcha without internet. But the chance of having
>> Bots attack from a internal network is very less. So we can either disable
>> reCaptcha when server is not connect to the internet or have the old
>> captcha implementation.
>>
>> +1 for keep the existing captcha implementation. But we have to modify
>> login, self-registration and recovery flows to add captcha/reCaptcha in a
>> pluggable manner.
>>
>> Thanks,
>> Thanuja.
>>
>> On Tue, Jun 7, 2016 at 11:14 AM, Isura Karunaratne 
>> wrote:
>>
>>> Hi,
>>>
>>> On Tue, Jun 7, 2016 at 10:47 AM, Omindu Rathnaweera 
>>> wrote:
>>>
 Hi Isura,

 Since reCaptcha requires to call Google's services for captcha
 generation and validation, we won't be able to use the dashboard with
 captcha when we are running IS in an environment without internet
 connectivity. I'm assuming we are not shipping the old captcha
 implementation in 5.3.0 so a user will not be able to switch to an
 internally managed captcha implementation with a simple config change.

 It'll be good if we can make the old captcha implementation (or a
 similar implementation) available (by means of an extension or a sample
 maybe ?) so a user can switch to an internally managed captcha model
 without much work. WDYT ?

>>>
>>> +1. but, we better to decouple old captcha implementation with recovery
>>> flows.
>>>
>>> Thanks
>>> Isura
>>>
>>>
 Regards,
 Omindu.

 On Sun, Jun 5, 2016 at 12:35 PM, Malithi Edirisinghe >>> > wrote:

> Hi Isura,
>
> Noted.
>
> I've got one more concern.
> Initially, as you may have noted in the top most mail, recovery
> scenarios were to be supported in the login page of the end user
> dashboard in IS. But in a consecutive discussion it was highlighted that
> these options should be provided in the default SSO login page. Thus, upon
> a successful recovery or registration, the flow should be as below.
>
>1. End user will be redirected to the login page.
>2. End user will enter the credentials
>3. End user is authenticated and upon successful authentication
>user will be redirected to the Service Provider application (Ex: ACS 
> url of
>the SP).
>
> So at the moment, we are using the param 'sessionDataKey' to map the
> server session across modules, which can be used even here to retrieve the
> respective Service Provider who initiated the flow. But, when it comes to
> recovery with notifications there is no parameter being communicated to
> identify the respective Service Provider. Can we please address this also,
> along with this effort ?
>
> Thanks,
> Malithi.
>
> On Sun, Jun 5, 2016 at 8:39 AM, Isura Karunaratne 
> wrote:
>
>> Hi Malithi,
>>
>> These steps seem to be ok. However we are going to move from KAPCHA
>> to google reCaptcha in IS 5.3.0 and this captcha implementation is
>> decoupled with each flow you mentioned. So, in new implementation captcha
>> validation will happen before invoking to the backend APIs.
>>
>> In "security questions based password recovery flow", we are going to
>> add a new parameter to parameterize the minimum number of questions that
>> user should be answered to recover the password. In the previous releases
>> (IS 5, IS5.1.0) this is an application side configuration and it was not 
>> a
>> server side configuration. With IS 5.3.0 onwards tenant admin can define
>> the minimum number of questions that user should be answered to recover 
>> the
>> password.
>>
>> Thanks
>> Isura
>>
>>
>>
>> On Fri, Apr 29, 2016 at 11:40 AM, Malith

Re: [Architecture] Incremental data processing from last event onward[Without buffer]

2016-06-08 Thread Gihan Anuruddha
Hi Maninda,

We have introduced some of the incremental data processing capabilities
with upcoming 3.1.0 release.  Please note that this doesn't support fully
functional data processing with data aggregation functionalities. Basically
what we have done is, introduced a way to fetch data based on time windows
to avoid iterate same data set from the beginning again and again. To avoid
the data losses, we have introduced some buffer time period and due to that
some of the events may return for select queries more than once in a
consecutive analytics task executions. Because of that, some aggregation
operations like average can be wrong. We have a plan to introduce fully
functional incremental data processing support in a future DAS release.

Regards,
Gihan

On Wed, Jun 8, 2016 at 11:53 AM, Maninda Edirisooriya 
wrote:

> [Adding Architecture list]
>
> Hi all,
>
> Timestamp based approach for incremental processing is problematic as we
> have gone through long discussions on it and could not come to an
> acceptable solution. Instead I think following kind of approach would work.
>
> 1. For each incremental analytic script a metadata column is added to the
> analytics table with type boolean with name "processed" with value "false".
> 2. When an incremental script is executed on a data row, that particular
> row should get updated with *processed=true.*
> 3. Next time when the script get executed it can skip all the rows with
> field
>
> *processed=true.*
> This will avoid the timestamp restriction and buffer time issues and allow
> parallel execution on records.
> Thanks.
>
>
> *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 Wed, Jun 8, 2016 at 11:22 AM, Gihan Anuruddha  wrote:
>
>> Hi Guys,
>>
>> To fulfill above requirement, we can add query as below and make
>> necessary changes to back-end.
>>
>> *create temporary table t5 using CarbonAnalytics options (tableName "t3",
>> schema "x INT, y INT", incrementalParams "t5, -1");*
>>
>> Basically,  we are passing -1 for buffer time. In the backend, if the
>> buffer is -1 we only take last processed event timestamp and fetch the data.
>>
>> If we insert 3 records and do the commit when the buffer is -1 and then
>> next time do the select without inserting any records, we are not getting
>> any result since after the saved timestamp there was no new record inserted.
>>
>> So what do you think about this implementation?
>>
>> Regards,
>> Gihan
>>
>>
>> --
>> W.G. Gihan Anuruddha
>> Senior Software Engineer | WSO2, Inc.
>> M: +94772272595
>>
>
>


-- 
W.G. Gihan Anuruddha
Senior Software Engineer | WSO2, Inc.
M: +94772272595
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Nayantara Jeyaraj
Hi Sajith,
when you say allowing the user to define the query as a set of constructs,
do you propose having individual icons for these minuscule parts? If
so,there maybe issues of an amateur user trying invalid connections such as
connecting a stream to a sub construct of the query, instead of piping it
to the entire query. But, on the whole, it would actually provide a visual
enhancement to the UI, not considering this issue.

On Wed, Jun 8, 2016 at 1:00 PM, Sajith Ravindra  wrote:

> Hi Nayanthara,
>
> AFAIU the query is more of a template in the scope of this project where
> you get the parameters and convert it into a passthrough, join or another
> type of a query. So, is the plan is to add support to different types of
> queries as we go forward? IMO, it might not be a scalable solution. Can't
> we let the user define the query as a set of constructs(i.e select, insert,
> join, etc..). To start with we can support few basic ones like select,
> insert.
> That wlll actually give the user the experience of visully constructing
> the query. WDYT?
>
>
>
> Thanks
> *,Sajith Ravindra*
> Senior Software Engineer
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: +94 77 2273550
> blog: http://sajithr.blogspot.com/
> 
>
> On Wed, Jun 8, 2016 at 12:40 PM, Lasantha Fernando 
> wrote:
>
>> Hi Nayantara,
>>
>> Can you provide a bit more information on how you are generating the
>> query based on the icons that are dropped to editor?
>>
>> I assume we are working on the top level design currently and maybe not
>> finalized how the query generation happens. But is there a rough idea on
>> how the query generation would happen? i.e. Are we mapping the query from
>> the configurations of the query/stream directly at front end? Or will we
>> have another intermediate layer that will map the visual configuration to
>> the query?
>>
>> As the editor evolves, I believe features such as refactoring queries
>> will be useful. For providing such features, it might help to keep some
>> sort of object model that maps the icons to queries. Such an object model
>> might help in developing the validation scheme as well. WDYT?
>>
>> Thanks,
>> Lasantha
>>
>> On 8 June 2016 at 12:12, Nayantara Jeyaraj  wrote:
>>
>>> Hi Malaka,
>>> The user will be given the privilege to type in his/her own query. The
>>> conceptualization so far is that, when a query icon is dropped, a
>>> properties panel pops up (just as it did for the stream) and the user can
>>> type in his entire query in a text field.
>>>
>>> On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:
>>>
 Hi Nayantara
 ​,

 With this GUI can we create queries on demand or should be predefined?​

 On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj 
 wrote:

> ​I am currently working on the Design and Implementation of the Siddhi
> Visual Editor for WSO2's CEP. The tasks completed and on-going have been
> listed out below. Your input will be appreciated.
>
> The interface will consist of a Toolbox/palette, a canvas and a
> Properties panel that appears upon clicking the toolbar icon of each
> element.
>
> *Tasks completed:*
>
>-
>
>Functionality that enables dragging an object from the palette and
>dropping it onto the canvas.
>-
>
>Permitting the Creation of multiple connections between anchors
>from varied sources and storing data in an array regarding the 
> connections
>for further utilization.
>-
>
>Deleting Connections along with the parent element.
>
> *Currently working on:*
>
>-
>
>Changing the property attributes such as stream name and stream
>definition of dropped elements (Stream name will be displayed on the
>respective icon when saved).
>
> *Eg:*
>
> from TempStream
>
> select roomNo, temp
>
> insert into RoomTempStream;
>
>
> *The toolbar will hold:*
>
> 1. A stream icon
>
> 2. A query icon
>
> Once a stream has been dragged on to the canvas, the
> type(import/export/temporary) can be selected in the properties panel and
> thereafter it will be validated against the available schema and
> dropped(The validation part has not been done yet). Then a query can
> consume one or more event streams and generate a new event stream from
> them.
>
> *A Tempstream will be created with the following attributes:*
>
> define stream TempStream(deviceID long, roomNo int, temp double);
>
> So when the event stream icon is dropped onto the canvas, the
> properties panel for that event stream appears permitting the set up of 
> the
> event stream.
>
> *Requested Stream Property Data in the properties panel:*
>
> Event stream type: import/ export/ temporary
>
> Even

Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Sinthuja Ragendran
Hi Jerad,

Ok great, I'll be not coming to office this and next week. @Prabushi,
please do schedule the meeting on this with Jerad and team, and get their
thoughts.

Thanks,
Sinthuja

On Wednesday, June 8, 2016, Jerad Rutnam  wrote:

> Hi Sinthuja,
>
> +1 for this initiation. This is great. And I had some concerns about the
> extension part of it. Let's schedule a review meeting, so we can share our
> thoughts. :D
>
> Cheers!
> Jerad
>
>
> On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran  > wrote:
>
>> Hi Jerad et all,
>>
>> Let's use this approach if we want to apply some custom theme per
>> dashboard, without modifying the default theme. I know as we have merged
>> the theme you guys have developed for analytics effort as default theme, it
>> should not be a issue now. :) But in case, if you come across future
>> requirements, let's utilize this.
>>
>> Thanks,
>> Sinthuja.
>>
>> On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon > > wrote:
>>
>>> Hi all,
>>>
>>> With the new release WSO2 DS 2.1.0 M2, we have introduced the support
>>> for applying a custom theme per dashboard in WSO2 Dashboard Server.
>>>
>>> User can deploy their custom themes as a Carbon Application Archive file
>>> through the admin console. One of these deployed themes can be selected as
>>> the dashboard theme, when the user create a dashboard. User can also change
>>> the selected theme, using dashboard settings configurations. Users are
>>> allowed to add a custom theme, only for the view of the dashboard. Users
>>> can add their own script files, template files and styles to customize the
>>> view of a particular dashboard.
>>>
>>> Further details about this feature can be found in the document attached
>>> here.
>>>
>>> Thanks,
>>> Prabushi
>>>
>>> --
>>> *Prabushi Samarakoon*
>>> Software Engineer
>>> Mobile: +94715434580
>>> Email: prabus...@wso2.com
>>> 
>>>
>>
>>
>>
>> --
>> *Sinthuja Rajendran*
>> Technical Lead
>> WSO2, Inc.:http://wso2.com
>>
>> Blog: http://sinthu-rajan.blogspot.com/
>> Mobile: +94774273955
>>
>>
>>
>
>
> --
> *Jerad Rutnam*
> *Software Engineer*
>
> WSO2 Inc.
> lean | enterprise | middleware
> M : +94 77 959 1609 | E : je...@wso2.com
>  | W : www.wso2.com
>


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


Re: [Architecture] Incremental data processing from last event onward[Without buffer]

2016-06-08 Thread Maninda Edirisooriya
Hi Gihan,

Yes I am referring to the full incremental analytics we are planing on.
What I mean is that we will have to extend Data Layer to add a column /
meta data column to the table in order to add a meta data fields. Then we
can add fields like "processed_query1" to the table when an incremental
query like "query1" is added.

Actually this implementation violates the independence of Data Layer table
from the analytics it is involved, when metadata columns are added to the
same table. So the other alternative is to add a separate data layer table
to each incremental query to keep the processed state. (e.g. That table
should have the columns of primary key of the real table + the boolean
field, "processed") But in this approach when each record in the real table
is being processed it should check the processed flag of that record in the
meta data table which has a n^2 complexity. WDYT?
Thanks.


*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 Wed, Jun 8, 2016 at 1:42 PM, Gihan Anuruddha  wrote:

> Hi Maninda,
>
> We have introduced some of the incremental data processing capabilities
> with upcoming 3.1.0 release.  Please note that this doesn't support fully
> functional data processing with data aggregation functionalities. Basically
> what we have done is, introduced a way to fetch data based on time windows
> to avoid iterate same data set from the beginning again and again. To avoid
> the data losses, we have introduced some buffer time period and due to that
> some of the events may return for select queries more than once in a
> consecutive analytics task executions. Because of that, some aggregation
> operations like average can be wrong. We have a plan to introduce fully
> functional incremental data processing support in a future DAS release.
>
> Regards,
> Gihan
>
> On Wed, Jun 8, 2016 at 11:53 AM, Maninda Edirisooriya 
> wrote:
>
>> [Adding Architecture list]
>>
>> Hi all,
>>
>> Timestamp based approach for incremental processing is problematic as we
>> have gone through long discussions on it and could not come to an
>> acceptable solution. Instead I think following kind of approach would work.
>>
>> 1. For each incremental analytic script a metadata column is added to the
>> analytics table with type boolean with name "processed" with value "false".
>> 2. When an incremental script is executed on a data row, that particular
>> row should get updated with *processed=true.*
>> 3. Next time when the script get executed it can skip all the rows with
>> field
>>
>> *processed=true.*
>> This will avoid the timestamp restriction and buffer time issues and
>> allow parallel execution on records.
>> Thanks.
>>
>>
>> *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 Wed, Jun 8, 2016 at 11:22 AM, Gihan Anuruddha  wrote:
>>
>>> Hi Guys,
>>>
>>> To fulfill above requirement, we can add query as below and make
>>> necessary changes to back-end.
>>>
>>> *create temporary table t5 using CarbonAnalytics options (tableName
>>> "t3", schema "x INT, y INT", incrementalParams "t5, -1");*
>>>
>>> Basically,  we are passing -1 for buffer time. In the backend, if the
>>> buffer is -1 we only take last processed event timestamp and fetch the data.
>>>
>>> If we insert 3 records and do the commit when the buffer is -1 and then
>>> next time do the select without inserting any records, we are not getting
>>> any result since after the saved timestamp there was no new record inserted.
>>>
>>> So what do you think about this implementation?
>>>
>>> Regards,
>>> Gihan
>>>
>>>
>>> --
>>> W.G. Gihan Anuruddha
>>> Senior Software Engineer | WSO2, Inc.
>>> M: +94772272595
>>>
>>
>>
>
>
> --
> W.G. Gihan Anuruddha
> Senior Software Engineer | WSO2, Inc.
> M: +94772272595
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Dunith Dhanushka
Hi Prabushi,

+1 for this initiation.

Let's say I have developed a custom theme and a dashboard. Now I want to
pack this into a CApp and deploy into another PC. In that case I'll have to
pack dashboard definition JSON + theme into the CApp.

My question is how can I specify the name of the custom theme in the
dashboard definition? Will adding "theme" attribute work?

Thanks,
Dunith

On Wed, Jun 8, 2016 at 2:10 PM, Sinthuja Ragendran 
wrote:

> Hi Jerad,
>
> Ok great, I'll be not coming to office this and next week. @Prabushi,
> please do schedule the meeting on this with Jerad and team, and get their
> thoughts.
>
> Thanks,
> Sinthuja
>
>
> On Wednesday, June 8, 2016, Jerad Rutnam  wrote:
>
>> Hi Sinthuja,
>>
>> +1 for this initiation. This is great. And I had some concerns about the
>> extension part of it. Let's schedule a review meeting, so we can share our
>> thoughts. :D
>>
>> Cheers!
>> Jerad
>>
>>
>> On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran 
>> wrote:
>>
>>> Hi Jerad et all,
>>>
>>> Let's use this approach if we want to apply some custom theme per
>>> dashboard, without modifying the default theme. I know as we have merged
>>> the theme you guys have developed for analytics effort as default theme, it
>>> should not be a issue now. :) But in case, if you come across future
>>> requirements, let's utilize this.
>>>
>>> Thanks,
>>> Sinthuja.
>>>
>>> On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon 
>>> wrote:
>>>
 Hi all,

 With the new release WSO2 DS 2.1.0 M2, we have introduced the support
 for applying a custom theme per dashboard in WSO2 Dashboard Server.

 User can deploy their custom themes as a Carbon Application Archive
 file through the admin console. One of these deployed themes can be
 selected as the dashboard theme, when the user create a dashboard. User can
 also change the selected theme, using dashboard settings configurations.
 Users are allowed to add a custom theme, only for the view of the
 dashboard. Users can add their own script files, template files and styles
 to customize the view of a particular dashboard.

 Further details about this feature can be found in the document
 attached here.

 Thanks,
 Prabushi

 --
 *Prabushi Samarakoon*
 Software Engineer
 Mobile: +94715434580
 Email: prabus...@wso2.com

>>>
>>>
>>>
>>> --
>>> *Sinthuja Rajendran*
>>> Technical Lead
>>> WSO2, Inc.:http://wso2.com
>>>
>>> Blog: http://sinthu-rajan.blogspot.com/
>>> Mobile: +94774273955
>>>
>>>
>>>
>>
>>
>> --
>> *Jerad Rutnam*
>> *Software Engineer*
>>
>> WSO2 Inc.
>> lean | enterprise | middleware
>> M : +94 77 959 1609 | E : je...@wso2.com | W : www.wso2.com
>>
>
>
> --
> Sent from iPhone
>
> --
> You received this message because you are subscribed to the Google Groups
> "WSO2 Engineering Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to engineering-group+unsubscr...@wso2.com.
> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>



-- 
Regards,

Dunith Dhanushka,
Associate Technical Lead
WSO2 Inc,

Mobile - +94 71 8615744
Blog - *https://medium.com/@dunithd *
Twitter - @dunithd 
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Sajith Ravindra
Hi Nayanathara,

when you say allowing the user to define the query as a set of constructs,
> do you propose having individual icons for these minuscule parts?
>
Yes.

IMO, it's okay to expect users to have a basic understanding on Siddhi
queries when he's writing a query. But we have to put some effort to do the
validations. We can guide users through proper error messages when he/she
does something wrong.

In the suggested approach there are 2 drawbacks I see
- Does not scale for complex queries and different types of queries
- Doesn't really give the user the experience of constructing a query.

However, this approach may be good as a starting point to implement the
framework required for a visual editor.

Thanks
*,Sajith Ravindra*
Senior Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 77 2273550
blog: http://sajithr.blogspot.com/


On Wed, Jun 8, 2016 at 1:52 PM, Nayantara Jeyaraj 
wrote:

> Hi Sajith,
> when you say allowing the user to define the query as a set of constructs,
> do you propose having individual icons for these minuscule parts? If
> so,there maybe issues of an amateur user trying invalid connections such as
> connecting a stream to a sub construct of the query, instead of piping it
> to the entire query. But, on the whole, it would actually provide a visual
> enhancement to the UI, not considering this issue.
>
> On Wed, Jun 8, 2016 at 1:00 PM, Sajith Ravindra  wrote:
>
>> Hi Nayanthara,
>>
>> AFAIU the query is more of a template in the scope of this project where
>> you get the parameters and convert it into a passthrough, join or another
>> type of a query. So, is the plan is to add support to different types of
>> queries as we go forward? IMO, it might not be a scalable solution. Can't
>> we let the user define the query as a set of constructs(i.e select, insert,
>> join, etc..). To start with we can support few basic ones like select,
>> insert.
>> That wlll actually give the user the experience of visully constructing
>> the query. WDYT?
>>
>>
>>
>> Thanks
>> *,Sajith Ravindra*
>> Senior Software Engineer
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: +94 77 2273550
>> blog: http://sajithr.blogspot.com/
>> 
>>
>> On Wed, Jun 8, 2016 at 12:40 PM, Lasantha Fernando 
>> wrote:
>>
>>> Hi Nayantara,
>>>
>>> Can you provide a bit more information on how you are generating the
>>> query based on the icons that are dropped to editor?
>>>
>>> I assume we are working on the top level design currently and maybe not
>>> finalized how the query generation happens. But is there a rough idea on
>>> how the query generation would happen? i.e. Are we mapping the query from
>>> the configurations of the query/stream directly at front end? Or will we
>>> have another intermediate layer that will map the visual configuration to
>>> the query?
>>>
>>> As the editor evolves, I believe features such as refactoring queries
>>> will be useful. For providing such features, it might help to keep some
>>> sort of object model that maps the icons to queries. Such an object model
>>> might help in developing the validation scheme as well. WDYT?
>>>
>>> Thanks,
>>> Lasantha
>>>
>>> On 8 June 2016 at 12:12, Nayantara Jeyaraj  wrote:
>>>
 Hi Malaka,
 The user will be given the privilege to type in his/her own query. The
 conceptualization so far is that, when a query icon is dropped, a
 properties panel pops up (just as it did for the stream) and the user can
 type in his entire query in a text field.

 On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:

> Hi Nayantara
> ​,
>
> With this GUI can we create queries on demand or should be predefined?​
>
> On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj  > wrote:
>
>> ​I am currently working on the Design and Implementation of the
>> Siddhi Visual Editor for WSO2's CEP. The tasks completed and on-going 
>> have
>> been listed out below. Your input will be appreciated.
>>
>> The interface will consist of a Toolbox/palette, a canvas and a
>> Properties panel that appears upon clicking the toolbar icon of each
>> element.
>>
>> *Tasks completed:*
>>
>>-
>>
>>Functionality that enables dragging an object from the palette
>>and dropping it onto the canvas.
>>-
>>
>>Permitting the Creation of multiple connections between anchors
>>from varied sources and storing data in an array regarding the 
>> connections
>>for further utilization.
>>-
>>
>>Deleting Connections along with the parent element.
>>
>> *Currently working on:*
>>
>>-
>>
>>Changing the property attributes such as stream name and stream
>>definition of dropped elements (Stream name will be displayed o

Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread Manoj Gunawardena
I think we can go with multiple gateway manager nodes with following
architecture. This diagrom explains according to mesos environments.




​
1. For each GW mgr has a script, it connects to mesos dns and get available
gw workers.
2. Push new artifacts receive to that particular mgr node to all workers.
3. This script runs as unterminated and with some intervals.
4. Each Mgr node and script deploy in same container using supervisor.D. as
multiple processors.

I think this will solve restrict to single manager node limitation and
issue of re start rsync daemon when network down.


Thanks





On Wed, Jun 8, 2016 at 6:49 AM, Chamila De Alwis  wrote:

> Hi Imesh,
>
>
> On Wed, Jun 8, 2016 at 5:32 AM, Imesh Gunaratne  wrote:
>
>> ​It would be better if we can implement this feature without tightly
>> coupling with the K8S API.​ Therefore I prefer the pull based model than
>> this.
>>
>
> I agree. This would require different ways of contacting any platform
> specific name resolution service to get the list of target containers.
>
>
>>
>>
>>> The pull method works the other way, i.e. initiated by the GW worker
>>> nodes and has to be run continuously on a loop.
>>>
>>
>> ​This approach can be applied to API-M on any container cluster manager
>> (and also on VMs) with very few changes. AFAIU it's matter of changing how
>> SSH server and rsync command processes are run on each GW node. K8S can use
>> separate containers for these using pods and Mesos can use supervisord [4].
>>
>
> I think supervisord would be applicable to any Docker based platform, be
> it Kubernetes or Mesos. Is there an additional advantage in going for a
> separate container to run sshd with a shared volume?
>
> One complication we'll come across (regardless of whether rsync pull or
> push) that I couldn't further elaborate was the artifact synchronization
> *between* GW Manager nodes when manager is in HA. This is when there are
> multiple GW Manager nodes, fronted with a load balancer. There will be only
> one active pod at a given time, and the request will be directed to the
> next available pod when the former goes down.
>
> For this, if we use a hostPath approach to share data, we'll also need to
> specify a node affinity to limit the node that the pod is spawned on. This
> way we can make sure the same location is mounted to every pod. The other
> option is to use something like Flocker with a Block storage service,
> however IMO it is a too complex method to approach a simple problem.
>
>
>
>
> Regards,
> Chamila de Alwis
> Committer and PMC Member - Apache Stratos
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>


-- 
Manoj Gunawardena
Tech Lead
WSO2, Inc.: http://wso2.com
lean.enterprise.middleware
Mobile : +94 77 2291643
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Frank Leymann
Dear Vinod,

BPMN 2.0 explicitly refers to WS-HumanTask as implementation of a User Task
(see pp 166 ff) - although they say that there are many potential different
implementations, HumanTask is preferred (...and I co-authored these
sections, summarizing the position of the group ;-)). Thus, BPMN 2.0 does
not refer to any states because its implementation dependent, but each
implementation has to define the states - otherwise we run into non-defined
situations we are discussion here.  Has Activiti these states defined?


Best regards,
Frank

2016-06-06 7:41 GMT+02:00 Vinod Kavinda :

> Please find my comments inline..
>
>>
>>
>>> *Task Reassignment at the end of substitution period*
>>> When a user that was on vacation come back, we will not assign his past
>>> tasks back to himself from his substitute. Since we cannot track the
>>> progress of the tasks once it is assigned to a user, this is not reasonable.
>>> We will stop substitution of future tasks at this point.
>>>
>>
>> ​That's not typically what is required.  We should at least reassign
>> tasks that are not yet InProgess. ​ But Ready and Reserved tasks should be
>> reassigned to the user returned in any case.
>>
>
> Totally agreed to this if it is in a WS-Human task context.
>
> We are considering User tasks in BPMN here. In Activiti there is no such
> notion as task status. There is no such status like "In progress". Once a
> task is assigned to someone, we have to assume that he is working on it.
> If we automatically reassign tasks to original user, it will be a mess.
> (eg: in call centers, user A assign his tasks to B and go out. B is on a
> call for a task came from B. While he is on call A comes back, tasks get
> reassigned back to him. He will make another call for the same task, since
> the task is not completed, complete mix up!!)
>
> I don't think we should automatically reassign without the assignee
> consent. If we really need, we can have a API that a user can retrieve his
> own tasks thet were substituted to someone else.
>
> Vinod Kavinda
> Software Engineer
> *WSO2 Inc. - lean . enterprise . middleware .*
> Mobile : +94 (0) 712 415544
> Blog : http://soatechflicks.blogspot.com/
>
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] WSO2 Siddhi Visual Editor for CEP

2016-06-08 Thread Nayantara Jeyaraj
Hi Sajith,
Currently I'm working on the stream related manipulations, and will
consider this as I move on to queries. Thanks for this feedback. Appreciate
it.
Tara

On Wed, Jun 8, 2016 at 2:27 PM, Sajith Ravindra  wrote:

> Hi Nayanathara,
>
> when you say allowing the user to define the query as a set of constructs,
>> do you propose having individual icons for these minuscule parts?
>>
> Yes.
>
> IMO, it's okay to expect users to have a basic understanding on Siddhi
> queries when he's writing a query. But we have to put some effort to do the
> validations. We can guide users through proper error messages when he/she
> does something wrong.
>
> In the suggested approach there are 2 drawbacks I see
> - Does not scale for complex queries and different types of queries
> - Doesn't really give the user the experience of constructing a query.
>
> However, this approach may be good as a starting point to implement the
> framework required for a visual editor.
>
> Thanks
> *,Sajith Ravindra*
> Senior Software Engineer
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: +94 77 2273550
> blog: http://sajithr.blogspot.com/
> 
>
> On Wed, Jun 8, 2016 at 1:52 PM, Nayantara Jeyaraj 
> wrote:
>
>> Hi Sajith,
>> when you say allowing the user to define the query as a set of
>> constructs, do you propose having individual icons for these minuscule
>> parts? If so,there maybe issues of an amateur user trying invalid
>> connections such as connecting a stream to a sub construct of the query,
>> instead of piping it to the entire query. But, on the whole, it would
>> actually provide a visual enhancement to the UI, not considering this
>> issue.
>>
>> On Wed, Jun 8, 2016 at 1:00 PM, Sajith Ravindra  wrote:
>>
>>> Hi Nayanthara,
>>>
>>> AFAIU the query is more of a template in the scope of this project where
>>> you get the parameters and convert it into a passthrough, join or another
>>> type of a query. So, is the plan is to add support to different types of
>>> queries as we go forward? IMO, it might not be a scalable solution. Can't
>>> we let the user define the query as a set of constructs(i.e select, insert,
>>> join, etc..). To start with we can support few basic ones like select,
>>> insert.
>>> That wlll actually give the user the experience of visully constructing
>>> the query. WDYT?
>>>
>>>
>>>
>>> Thanks
>>> *,Sajith Ravindra*
>>> Senior Software Engineer
>>> WSO2 Inc.; http://wso2.com
>>> lean.enterprise.middleware
>>>
>>> mobile: +94 77 2273550
>>> blog: http://sajithr.blogspot.com/
>>> 
>>>
>>> On Wed, Jun 8, 2016 at 12:40 PM, Lasantha Fernando 
>>> wrote:
>>>
 Hi Nayantara,

 Can you provide a bit more information on how you are generating the
 query based on the icons that are dropped to editor?

 I assume we are working on the top level design currently and maybe not
 finalized how the query generation happens. But is there a rough idea on
 how the query generation would happen? i.e. Are we mapping the query from
 the configurations of the query/stream directly at front end? Or will we
 have another intermediate layer that will map the visual configuration to
 the query?

 As the editor evolves, I believe features such as refactoring queries
 will be useful. For providing such features, it might help to keep some
 sort of object model that maps the icons to queries. Such an object model
 might help in developing the validation scheme as well. WDYT?

 Thanks,
 Lasantha

 On 8 June 2016 at 12:12, Nayantara Jeyaraj  wrote:

> Hi Malaka,
> The user will be given the privilege to type in his/her own query. The
> conceptualization so far is that, when a query icon is dropped, a
> properties panel pops up (just as it did for the stream) and the user can
> type in his entire query in a text field.
>
> On Wed, Jun 8, 2016 at 11:39 AM, Malaka Silva  wrote:
>
>> Hi Nayantara
>> ​,
>>
>> With this GUI can we create queries on demand or should be
>> predefined?​
>>
>> On Wed, Jun 8, 2016 at 11:01 AM, Nayantara Jeyaraj <
>> nayant...@wso2.com> wrote:
>>
>>> ​I am currently working on the Design and Implementation of the
>>> Siddhi Visual Editor for WSO2's CEP. The tasks completed and on-going 
>>> have
>>> been listed out below. Your input will be appreciated.
>>>
>>> The interface will consist of a Toolbox/palette, a canvas and a
>>> Properties panel that appears upon clicking the toolbar icon of each
>>> element.
>>>
>>> *Tasks completed:*
>>>
>>>-
>>>
>>>Functionality that enables dragging an object from the palette
>>>and dropping it onto the canvas.
>>>-
>>>
>>>Permitting the Creation of multiple connections between anchors
>>>from vari

Re: [Architecture] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Vinod Kavinda
Hi Frank,
Activiti has not defined states compliant with WS-HumanTask. It has only
Created, Claimed and Completed states.

Regards,
Vinod

On Wed, Jun 8, 2016 at 2:52 PM, Frank Leymann  wrote:

> Dear Vinod,
>
> BPMN 2.0 explicitly refers to WS-HumanTask as implementation of a User
> Task (see pp 166 ff) - although they say that there are many potential
> different implementations, HumanTask is preferred (...and I co-authored
> these sections, summarizing the position of the group ;-)). Thus, BPMN 2.0
> does not refer to any states because its implementation dependent, but each
> implementation has to define the states - otherwise we run into non-defined
> situations we are discussion here.  Has Activiti these states defined?
>
>
> Best regards,
> Frank
>
> 2016-06-06 7:41 GMT+02:00 Vinod Kavinda :
>
>> Please find my comments inline..
>>
>>>
>>>
 *Task Reassignment at the end of substitution period*
 When a user that was on vacation come back, we will not assign his past
 tasks back to himself from his substitute. Since we cannot track the
 progress of the tasks once it is assigned to a user, this is not 
 reasonable.
 We will stop substitution of future tasks at this point.

>>>
>>> ​That's not typically what is required.  We should at least reassign
>>> tasks that are not yet InProgess. ​ But Ready and Reserved tasks should be
>>> reassigned to the user returned in any case.
>>>
>>
>> Totally agreed to this if it is in a WS-Human task context.
>>
>> We are considering User tasks in BPMN here. In Activiti there is no such
>> notion as task status. There is no such status like "In progress". Once a
>> task is assigned to someone, we have to assume that he is working on it.
>> If we automatically reassign tasks to original user, it will be a mess.
>> (eg: in call centers, user A assign his tasks to B and go out. B is on a
>> call for a task came from B. While he is on call A comes back, tasks get
>> reassigned back to him. He will make another call for the same task, since
>> the task is not completed, complete mix up!!)
>>
>> I don't think we should automatically reassign without the assignee
>> consent. If we really need, we can have a API that a user can retrieve his
>> own tasks thet were substituted to someone else.
>>
>> Vinod Kavinda
>> Software Engineer
>> *WSO2 Inc. - lean . enterprise . middleware .*
>> Mobile : +94 (0) 712 415544
>> Blog : http://soatechflicks.blogspot.com/
>>
>>
>


-- 
Vinod Kavinda
Software Engineer
*WSO2 Inc. - lean . enterprise . middleware .*
Mobile : +94 (0) 712 415544
Blog : http://soatechflicks.blogspot.com/
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Sinthuja Ragendran
Hi Dunith,

On Wed, Jun 8, 2016 at 9:54 AM, Dunith Dhanushka  wrote:

> Hi Prabushi,
>
> +1 for this initiation.
>
> Let's say I have developed a custom theme and a dashboard. Now I want to
> pack this into a CApp and deploy into another PC. In that case I'll have to
> pack dashboard definition JSON + theme into the CApp.
>
> My question is how can I specify the name of the custom theme in the
> dashboard definition? Will adding "theme" attribute work?
>

Yes, that will work. And not necessarily you need to pack the theme that
you have mentioned in the dashboard.json along with the car file, if the
theme is already there in the pack or the environment. Ie, lets say an
organization has added a theme default in their distribution, then you can
just mention in the dashboard.json and use it.

Thanks,
Sinthuja.

>
> Thanks,
> Dunith
>
> On Wed, Jun 8, 2016 at 2:10 PM, Sinthuja Ragendran 
> wrote:
>
>> Hi Jerad,
>>
>> Ok great, I'll be not coming to office this and next week. @Prabushi,
>> please do schedule the meeting on this with Jerad and team, and get their
>> thoughts.
>>
>> Thanks,
>> Sinthuja
>>
>>
>> On Wednesday, June 8, 2016, Jerad Rutnam  wrote:
>>
>>> Hi Sinthuja,
>>>
>>> +1 for this initiation. This is great. And I had some concerns about the
>>> extension part of it. Let's schedule a review meeting, so we can share our
>>> thoughts. :D
>>>
>>> Cheers!
>>> Jerad
>>>
>>>
>>> On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran 
>>> wrote:
>>>
 Hi Jerad et all,

 Let's use this approach if we want to apply some custom theme per
 dashboard, without modifying the default theme. I know as we have merged
 the theme you guys have developed for analytics effort as default theme, it
 should not be a issue now. :) But in case, if you come across future
 requirements, let's utilize this.

 Thanks,
 Sinthuja.

 On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon >>> > wrote:

> Hi all,
>
> With the new release WSO2 DS 2.1.0 M2, we have introduced the support
> for applying a custom theme per dashboard in WSO2 Dashboard Server.
>
> User can deploy their custom themes as a Carbon Application Archive
> file through the admin console. One of these deployed themes can be
> selected as the dashboard theme, when the user create a dashboard. User 
> can
> also change the selected theme, using dashboard settings configurations.
> Users are allowed to add a custom theme, only for the view of the
> dashboard. Users can add their own script files, template files and styles
> to customize the view of a particular dashboard.
>
> Further details about this feature can be found in the document
> attached here.
>
> Thanks,
> Prabushi
>
> --
> *Prabushi Samarakoon*
> Software Engineer
> Mobile: +94715434580
> Email: prabus...@wso2.com
>



 --
 *Sinthuja Rajendran*
 Technical Lead
 WSO2, Inc.:http://wso2.com

 Blog: http://sinthu-rajan.blogspot.com/
 Mobile: +94774273955



>>>
>>>
>>> --
>>> *Jerad Rutnam*
>>> *Software Engineer*
>>>
>>> WSO2 Inc.
>>> lean | enterprise | middleware
>>> M : +94 77 959 1609 | E : je...@wso2.com | W : www.wso2.com
>>>
>>
>>
>> --
>> Sent from iPhone
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "WSO2 Engineering Group" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to engineering-group+unsubscr...@wso2.com.
>> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>>
>
>
>
> --
> Regards,
>
> Dunith Dhanushka,
> Associate Technical Lead
> WSO2 Inc,
>
> Mobile - +94 71 8615744
> Blog - *https://medium.com/@dunithd *
> Twitter - @dunithd 
>



-- 
*Sinthuja Rajendran*
Technical Lead
WSO2, Inc.:http://wso2.com

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


Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Dunith Dhanushka
Noted. Thanks Sinthuja!

Regards,
Dunith

On Wed, Jun 8, 2016 at 3:20 PM, Sinthuja Ragendran 
wrote:

> Hi Dunith,
>
> On Wed, Jun 8, 2016 at 9:54 AM, Dunith Dhanushka  wrote:
>
>> Hi Prabushi,
>>
>> +1 for this initiation.
>>
>> Let's say I have developed a custom theme and a dashboard. Now I want to
>> pack this into a CApp and deploy into another PC. In that case I'll have to
>> pack dashboard definition JSON + theme into the CApp.
>>
>> My question is how can I specify the name of the custom theme in the
>> dashboard definition? Will adding "theme" attribute work?
>>
>
> Yes, that will work. And not necessarily you need to pack the theme that
> you have mentioned in the dashboard.json along with the car file, if the
> theme is already there in the pack or the environment. Ie, lets say an
> organization has added a theme default in their distribution, then you can
> just mention in the dashboard.json and use it.
>
> Thanks,
> Sinthuja.
>
>>
>> Thanks,
>> Dunith
>>
>> On Wed, Jun 8, 2016 at 2:10 PM, Sinthuja Ragendran 
>> wrote:
>>
>>> Hi Jerad,
>>>
>>> Ok great, I'll be not coming to office this and next week. @Prabushi,
>>> please do schedule the meeting on this with Jerad and team, and get their
>>> thoughts.
>>>
>>> Thanks,
>>> Sinthuja
>>>
>>>
>>> On Wednesday, June 8, 2016, Jerad Rutnam  wrote:
>>>
 Hi Sinthuja,

 +1 for this initiation. This is great. And I had some concerns about
 the extension part of it. Let's schedule a review meeting, so we can share
 our thoughts. :D

 Cheers!
 Jerad


 On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran 
 wrote:

> Hi Jerad et all,
>
> Let's use this approach if we want to apply some custom theme per
> dashboard, without modifying the default theme. I know as we have merged
> the theme you guys have developed for analytics effort as default theme, 
> it
> should not be a issue now. :) But in case, if you come across future
> requirements, let's utilize this.
>
> Thanks,
> Sinthuja.
>
> On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon <
> prabus...@wso2.com> wrote:
>
>> Hi all,
>>
>> With the new release WSO2 DS 2.1.0 M2, we have introduced the support
>> for applying a custom theme per dashboard in WSO2 Dashboard Server.
>>
>> User can deploy their custom themes as a Carbon Application Archive
>> file through the admin console. One of these deployed themes can be
>> selected as the dashboard theme, when the user create a dashboard. User 
>> can
>> also change the selected theme, using dashboard settings configurations.
>> Users are allowed to add a custom theme, only for the view of the
>> dashboard. Users can add their own script files, template files and 
>> styles
>> to customize the view of a particular dashboard.
>>
>> Further details about this feature can be found in the document
>> attached here.
>>
>> Thanks,
>> Prabushi
>>
>> --
>> *Prabushi Samarakoon*
>> Software Engineer
>> Mobile: +94715434580
>> Email: prabus...@wso2.com
>>
>
>
>
> --
> *Sinthuja Rajendran*
> Technical Lead
> WSO2, Inc.:http://wso2.com
>
> Blog: http://sinthu-rajan.blogspot.com/
> Mobile: +94774273955
>
>
>


 --
 *Jerad Rutnam*
 *Software Engineer*

 WSO2 Inc.
 lean | enterprise | middleware
 M : +94 77 959 1609 | E : je...@wso2.com | W : www.wso2.com

>>>
>>>
>>> --
>>> Sent from iPhone
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "WSO2 Engineering Group" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to engineering-group+unsubscr...@wso2.com.
>>> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>>>
>>
>>
>>
>> --
>> Regards,
>>
>> Dunith Dhanushka,
>> Associate Technical Lead
>> WSO2 Inc,
>>
>> Mobile - +94 71 8615744
>> Blog - *https://medium.com/@dunithd *
>> Twitter - @dunithd 
>>
>
>
>
> --
> *Sinthuja Rajendran*
> Technical Lead
> WSO2, Inc.:http://wso2.com
>
> Blog: http://sinthu-rajan.blogspot.com/
> Mobile: +94774273955
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "WSO2 Engineering Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to engineering-group+unsubscr...@wso2.com.
> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>



-- 
Regards,

Dunith Dhanushka,
Associate Technical Lead
WSO2 Inc,

Mobile - +94 71 8615744
Blog - *https://medium.com/@dunithd *
Twitter - @dunithd 
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/arch

Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Prabushi Samarakoon
Hi,

@Sinthuja,
We had an offline discussion with Jerad, and it seems the proposed theme
extension part wont be needed for our immediate release. So shall we
schedule a meeting after you come back here?

@Dunith,
There is a 'theme' attribute already defined in the dashboard json file.
You can specify the custom theme there and use it.

Thanks and Regards,
Prabushi

On Wed, Jun 8, 2016 at 2:24 PM, Dunith Dhanushka  wrote:

> Hi Prabushi,
>
> +1 for this initiation.
>
> Let's say I have developed a custom theme and a dashboard. Now I want to
> pack this into a CApp and deploy into another PC. In that case I'll have to
> pack dashboard definition JSON + theme into the CApp.
>
> My question is how can I specify the name of the custom theme in the
> dashboard definition? Will adding "theme" attribute work?
>
> Thanks,
> Dunith
>
> On Wed, Jun 8, 2016 at 2:10 PM, Sinthuja Ragendran 
> wrote:
>
>> Hi Jerad,
>>
>> Ok great, I'll be not coming to office this and next week. @Prabushi,
>> please do schedule the meeting on this with Jerad and team, and get their
>> thoughts.
>>
>> Thanks,
>> Sinthuja
>>
>>
>> On Wednesday, June 8, 2016, Jerad Rutnam  wrote:
>>
>>> Hi Sinthuja,
>>>
>>> +1 for this initiation. This is great. And I had some concerns about the
>>> extension part of it. Let's schedule a review meeting, so we can share our
>>> thoughts. :D
>>>
>>> Cheers!
>>> Jerad
>>>
>>>
>>> On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran 
>>> wrote:
>>>
 Hi Jerad et all,

 Let's use this approach if we want to apply some custom theme per
 dashboard, without modifying the default theme. I know as we have merged
 the theme you guys have developed for analytics effort as default theme, it
 should not be a issue now. :) But in case, if you come across future
 requirements, let's utilize this.

 Thanks,
 Sinthuja.

 On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon >>> > wrote:

> Hi all,
>
> With the new release WSO2 DS 2.1.0 M2, we have introduced the support
> for applying a custom theme per dashboard in WSO2 Dashboard Server.
>
> User can deploy their custom themes as a Carbon Application Archive
> file through the admin console. One of these deployed themes can be
> selected as the dashboard theme, when the user create a dashboard. User 
> can
> also change the selected theme, using dashboard settings configurations.
> Users are allowed to add a custom theme, only for the view of the
> dashboard. Users can add their own script files, template files and styles
> to customize the view of a particular dashboard.
>
> Further details about this feature can be found in the document
> attached here.
>
> Thanks,
> Prabushi
>
> --
> *Prabushi Samarakoon*
> Software Engineer
> Mobile: +94715434580
> Email: prabus...@wso2.com
>



 --
 *Sinthuja Rajendran*
 Technical Lead
 WSO2, Inc.:http://wso2.com

 Blog: http://sinthu-rajan.blogspot.com/
 Mobile: +94774273955



>>>
>>>
>>> --
>>> *Jerad Rutnam*
>>> *Software Engineer*
>>>
>>> WSO2 Inc.
>>> lean | enterprise | middleware
>>> M : +94 77 959 1609 | E : je...@wso2.com | W : www.wso2.com
>>>
>>
>>
>> --
>> Sent from iPhone
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "WSO2 Engineering Group" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to engineering-group+unsubscr...@wso2.com.
>> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>>
>
>
>
> --
> Regards,
>
> Dunith Dhanushka,
> Associate Technical Lead
> WSO2 Inc,
>
> Mobile - +94 71 8615744
> Blog - *https://medium.com/@dunithd *
> Twitter - @dunithd 
>



-- 
*Prabushi Samarakoon*
Software Engineer
Mobile: +94715434580
Email: prabus...@wso2.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Sinthuja Ragendran
Hi Prabushi,

On Wed, Jun 8, 2016 at 10:57 AM, Prabushi Samarakoon 
wrote:

> Hi,
>
> @Sinthuja,
> We had an offline discussion with Jerad, and it seems the proposed theme
> extension part wont be needed for our immediate release. So shall we
> schedule a meeting after you come back here?
>
>
Can you briefly explain what actually proposed? Yeah, we may not able
include all in the current release, so i'm +1 to push it after two weeks.

Thanks,
Sinthuja.


> @Dunith,
> There is a 'theme' attribute already defined in the dashboard json file.
> You can specify the custom theme there and use it.
>
> Thanks and Regards,
> Prabushi
>
> On Wed, Jun 8, 2016 at 2:24 PM, Dunith Dhanushka  wrote:
>
>> Hi Prabushi,
>>
>> +1 for this initiation.
>>
>> Let's say I have developed a custom theme and a dashboard. Now I want to
>> pack this into a CApp and deploy into another PC. In that case I'll have to
>> pack dashboard definition JSON + theme into the CApp.
>>
>> My question is how can I specify the name of the custom theme in the
>> dashboard definition? Will adding "theme" attribute work?
>>
>> Thanks,
>> Dunith
>>
>> On Wed, Jun 8, 2016 at 2:10 PM, Sinthuja Ragendran 
>> wrote:
>>
>>> Hi Jerad,
>>>
>>> Ok great, I'll be not coming to office this and next week. @Prabushi,
>>> please do schedule the meeting on this with Jerad and team, and get their
>>> thoughts.
>>>
>>> Thanks,
>>> Sinthuja
>>>
>>>
>>> On Wednesday, June 8, 2016, Jerad Rutnam  wrote:
>>>
 Hi Sinthuja,

 +1 for this initiation. This is great. And I had some concerns about
 the extension part of it. Let's schedule a review meeting, so we can share
 our thoughts. :D

 Cheers!
 Jerad


 On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran 
 wrote:

> Hi Jerad et all,
>
> Let's use this approach if we want to apply some custom theme per
> dashboard, without modifying the default theme. I know as we have merged
> the theme you guys have developed for analytics effort as default theme, 
> it
> should not be a issue now. :) But in case, if you come across future
> requirements, let's utilize this.
>
> Thanks,
> Sinthuja.
>
> On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon <
> prabus...@wso2.com> wrote:
>
>> Hi all,
>>
>> With the new release WSO2 DS 2.1.0 M2, we have introduced the support
>> for applying a custom theme per dashboard in WSO2 Dashboard Server.
>>
>> User can deploy their custom themes as a Carbon Application Archive
>> file through the admin console. One of these deployed themes can be
>> selected as the dashboard theme, when the user create a dashboard. User 
>> can
>> also change the selected theme, using dashboard settings configurations.
>> Users are allowed to add a custom theme, only for the view of the
>> dashboard. Users can add their own script files, template files and 
>> styles
>> to customize the view of a particular dashboard.
>>
>> Further details about this feature can be found in the document
>> attached here.
>>
>> Thanks,
>> Prabushi
>>
>> --
>> *Prabushi Samarakoon*
>> Software Engineer
>> Mobile: +94715434580
>> Email: prabus...@wso2.com
>>
>
>
>
> --
> *Sinthuja Rajendran*
> Technical Lead
> WSO2, Inc.:http://wso2.com
>
> Blog: http://sinthu-rajan.blogspot.com/
> Mobile: +94774273955
>
>
>


 --
 *Jerad Rutnam*
 *Software Engineer*

 WSO2 Inc.
 lean | enterprise | middleware
 M : +94 77 959 1609 | E : je...@wso2.com | W : www.wso2.com

>>>
>>>
>>> --
>>> Sent from iPhone
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "WSO2 Engineering Group" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to engineering-group+unsubscr...@wso2.com.
>>> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>>>
>>
>>
>>
>> --
>> Regards,
>>
>> Dunith Dhanushka,
>> Associate Technical Lead
>> WSO2 Inc,
>>
>> Mobile - +94 71 8615744
>> Blog - *https://medium.com/@dunithd *
>> Twitter - @dunithd 
>>
>
>
>
> --
> *Prabushi Samarakoon*
> Software Engineer
> Mobile: +94715434580
> Email: prabus...@wso2.com
>
> --
> You received this message because you are subscribed to the Google Groups
> "WSO2 Engineering Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to engineering-group+unsubscr...@wso2.com.
> For more options, visit https://groups.google.com/a/wso2.com/d/optout.
>



-- 
*Sinthuja Rajendran*
Technical Lead
WSO2, Inc.:http://wso2.com

Blog: http://sinthu-rajan.blogspot.com/
Mobile: +94774273955
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mail

Re: [Architecture] Feature - Applying a custom theme for a dashboard

2016-06-08 Thread Prabushi Samarakoon
Hi Sinthuja,

Jerad suggested to allow the theme developer to change the template of
entire view mode, while we are providing data and logic from DS side. In
order to do that, I think we need to redesign the dashboard.jag file, in a
way the theme developer can change the full template.

Ok, then I'll schedule a meeting later.

Thanks,
Prabushi

On Wed, Jun 8, 2016 at 3:45 PM, Sinthuja Ragendran 
wrote:

> Hi Prabushi,
>
> On Wed, Jun 8, 2016 at 10:57 AM, Prabushi Samarakoon 
> wrote:
>
>> Hi,
>>
>> @Sinthuja,
>> We had an offline discussion with Jerad, and it seems the proposed theme
>> extension part wont be needed for our immediate release. So shall we
>> schedule a meeting after you come back here?
>>
>>
> Can you briefly explain what actually proposed? Yeah, we may not able
> include all in the current release, so i'm +1 to push it after two weeks.
>
> Thanks,
> Sinthuja.
>
>
>> @Dunith,
>> There is a 'theme' attribute already defined in the dashboard json file.
>> You can specify the custom theme there and use it.
>>
>> Thanks and Regards,
>> Prabushi
>>
>> On Wed, Jun 8, 2016 at 2:24 PM, Dunith Dhanushka  wrote:
>>
>>> Hi Prabushi,
>>>
>>> +1 for this initiation.
>>>
>>> Let's say I have developed a custom theme and a dashboard. Now I want to
>>> pack this into a CApp and deploy into another PC. In that case I'll have to
>>> pack dashboard definition JSON + theme into the CApp.
>>>
>>> My question is how can I specify the name of the custom theme in the
>>> dashboard definition? Will adding "theme" attribute work?
>>>
>>> Thanks,
>>> Dunith
>>>
>>> On Wed, Jun 8, 2016 at 2:10 PM, Sinthuja Ragendran 
>>> wrote:
>>>
 Hi Jerad,

 Ok great, I'll be not coming to office this and next week. @Prabushi,
 please do schedule the meeting on this with Jerad and team, and get their
 thoughts.

 Thanks,
 Sinthuja


 On Wednesday, June 8, 2016, Jerad Rutnam  wrote:

> Hi Sinthuja,
>
> +1 for this initiation. This is great. And I had some concerns about
> the extension part of it. Let's schedule a review meeting, so we can share
> our thoughts. :D
>
> Cheers!
> Jerad
>
>
> On Tue, Jun 7, 2016 at 6:51 PM, Sinthuja Ragendran 
> wrote:
>
>> Hi Jerad et all,
>>
>> Let's use this approach if we want to apply some custom theme per
>> dashboard, without modifying the default theme. I know as we have merged
>> the theme you guys have developed for analytics effort as default theme, 
>> it
>> should not be a issue now. :) But in case, if you come across future
>> requirements, let's utilize this.
>>
>> Thanks,
>> Sinthuja.
>>
>> On Mon, Jun 6, 2016 at 6:34 AM, Prabushi Samarakoon <
>> prabus...@wso2.com> wrote:
>>
>>> Hi all,
>>>
>>> With the new release WSO2 DS 2.1.0 M2, we have introduced the
>>> support for applying a custom theme per dashboard in WSO2 Dashboard 
>>> Server.
>>>
>>> User can deploy their custom themes as a Carbon Application Archive
>>> file through the admin console. One of these deployed themes can be
>>> selected as the dashboard theme, when the user create a dashboard. User 
>>> can
>>> also change the selected theme, using dashboard settings configurations.
>>> Users are allowed to add a custom theme, only for the view of the
>>> dashboard. Users can add their own script files, template files and 
>>> styles
>>> to customize the view of a particular dashboard.
>>>
>>> Further details about this feature can be found in the document
>>> attached here.
>>>
>>> Thanks,
>>> Prabushi
>>>
>>> --
>>> *Prabushi Samarakoon*
>>> Software Engineer
>>> Mobile: +94715434580
>>> Email: prabus...@wso2.com
>>>
>>
>>
>>
>> --
>> *Sinthuja Rajendran*
>> Technical Lead
>> WSO2, Inc.:http://wso2.com
>>
>> Blog: http://sinthu-rajan.blogspot.com/
>> Mobile: +94774273955
>>
>>
>>
>
>
> --
> *Jerad Rutnam*
> *Software Engineer*
>
> WSO2 Inc.
> lean | enterprise | middleware
> M : +94 77 959 1609 | E : je...@wso2.com | W : www.wso2.com
>


 --
 Sent from iPhone

 --
 You received this message because you are subscribed to the Google
 Groups "WSO2 Engineering Group" group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to engineering-group+unsubscr...@wso2.com.
 For more options, visit https://groups.google.com/a/wso2.com/d/optout.

>>>
>>>
>>>
>>> --
>>> Regards,
>>>
>>> Dunith Dhanushka,
>>> Associate Technical Lead
>>> WSO2 Inc,
>>>
>>> Mobile - +94 71 8615744
>>> Blog - *https://medium.com/@dunithd *
>>> Twitter - @dunithd 
>>>
>>
>>
>>
>> --
>> *Prabushi Samarakoon*
>> Software Engineer
>> Mobile: +94715434580
>> Email: prabus.

Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread Akila Ravihansa Perera
Hi Manoj,

How are those multiple managers going to sync artifacts between each other
using rsync? LB will route traffic only to 1st manager node and the 2nd
manager node as the fail-over, right? If all the managers try to push
artifacts to workers then there will be conflicts/overwrites.


I think the whole artifacts deployment/sync strategy is going to be changed
from C5 on-wards. AFAIU, we will not be publishing artifacts to gateway
nodes directly in C5. Rather those artifacts will be injected at the Docker
image build process. So why don't we stick with SVN based DepSync for now
(C4 products)? What is the problem that we are trying to solve by moving to
rsync that we couldn't/cannot fix in SVN based model?

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


Re: [Architecture] RSA SecurID Authenticatior for IS

2016-06-08 Thread Nifras Ismail
Hi Kathees,

noted. yes we can.

On Thu, Jun 2, 2016 at 10:29 AM, Kathees Rajendram  wrote:

> Hi Nifras,
>
> You need to write the provisioning connector as well or need to link IS
> local user to RSA SecurID.
>
> Thanks,
>
> On Wed, Jun 1, 2016 at 2:46 PM, Nifras Ismail  wrote:
>
>>
>> ​
>>
>> On Wed, Jun 1, 2016 at 2:45 PM, Nifras Ismail  wrote:
>>
>>> Hi all,
>>>
>>> I have planned to create RSA SecurID[1] two factor authenticatior for
>>> WSO2 Identity Server.
>>>
>>> RSA SecurID[1], which protects access using two factor authentication
>>> with hardware and software tokens.
>>> In both cases RSA SecurID uses patented, time-based two factor
>>> authentication algorithm to validate users.
>>>
>>> The authentication flow is as follow :
>>>
>>>
>>>
>>>
>>>1. User send the basic credentials(1st Factor) to IS Basic
>>>Authenticatior.
>>>2. If authentication success on Basic Authenticatior, RSA IS
>>>Authenticator requests the RSA Token (2nd factor) to the user.
>>>3. User send the token which are generated from the RSA
>>>Authenticatior at the requested time.
>>>4. RSA IS Authenticatior sends the request to RSA Authentication
>>>Agent.
>>>5. Then RSA Authentication Agent request to RSA Authentication
>>>Manger to validate the request
>>>6. RSA Authentication Manager validate the authorization request and
>>>send the response to the IS
>>>7. If the authentication success, IS grant access to the requested
>>>claims.
>>>
>>>
>>> *RSA Authentication Manager*
>>> RSA Authentication Manager is a multi-factor authentication system that
>>> verify the authentication requests and centrally administrate the
>>> authentication policies for enterprises[3].
>>>
>>> *RSA Authentication Agent *
>>> It is a bridge for communicating to the Authentication Manager with
>>> client,  and it is process authentication request.
>>>
>>> *RSA Authenticators*
>>> Hardware Authenticators : Dedicated devices (so called key fobs)
>>> Software Authenticatiors  : Mobile Application Authenticators in
>>> Android, iOS, Blackberry, Windows Mobile and etc. [2].
>>>
>>> [1]
>>> https://www.rsa.com/en-us/perspectives/resources/rsa-securid-software-tokens
>>> [2]
>>> https://www.rsa.com/en-us/products-services/identity-access-management/securid/software-tokens
>>> [3] RSA Authentication Manager Documentation
>>>
>>> --
>>> Nifras Ismail
>>> Associate Software Engineer
>>> WSO2
>>> Email : nif...@wso2.com
>>> Mobile : 0094 77 89 90 300
>>>
>>
>>
>>
>> --
>> Nifras Ismail
>> Associate Software Engineer
>> WSO2
>> Email : nif...@wso2.com
>> Mobile : 0094 77 89 90 300
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Kathees
> Software Engineer,
> email: kath...@wso2.com
> mobile: +94772596173
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Nifras Ismail
Associate Software Engineer
WSO2
Email : nif...@wso2.com
Mobile : 0094 77 89 90 300
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread KasunG Gajasinghe
We've also written rsync based artifact synchronization for the stand-alone
cluster mode. [1] This pushes the artifacts to workers periodically via a
cron job. A shared public key is used for authentication.

[1] https://gist.github.com/kasunbg/444df28a2e51a16bbd74

On Wed, Jun 8, 2016 at 5:05 PM, Akila Ravihansa Perera 
wrote:

> Hi Manoj,
>
> How are those multiple managers going to sync artifacts between each other
> using rsync? LB will route traffic only to 1st manager node and the 2nd
> manager node as the fail-over, right? If all the managers try to push
> artifacts to workers then there will be conflicts/overwrites.
>
>
> I think the whole artifacts deployment/sync strategy is going to be
> changed from C5 on-wards. AFAIU, we will not be publishing artifacts to
> gateway nodes directly in C5. Rather those artifacts will be injected at
> the Docker image build process. So why don't we stick with SVN based
> DepSync for now (C4 products)? What is the problem that we are trying to
> solve by moving to rsync that we couldn't/cannot fix in SVN based model?
>
> Thanks.
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

*Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
email: kasung AT spamfree wso2.com
linked-in: http://lk.linkedin.com/in/gajasinghe
blog: http://kasunbg.org
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread Akila Ravihansa Perera
Hi KasunG,

How do you handle multiple manager scenario (for HA deployment) with the
implementation that you have done? And what do you mean by standalone
cluster mode?

If we run this cron job on multiple managers then it can cause overwrites
unless there is some kind of cluster coordination right?

Thanks.

On Wednesday, 8 June 2016, KasunG Gajasinghe  wrote:

>
> We've also written rsync based artifact synchronization for the
> stand-alone cluster mode. [1] This pushes the artifacts to workers
> periodically via a cron job. A shared public key is used for
> authentication.
>
> [1] https://gist.github.com/kasunbg/444df28a2e51a16bbd74
>
> On Wed, Jun 8, 2016 at 5:05 PM, Akila Ravihansa Perera  > wrote:
>
>> Hi Manoj,
>>
>> How are those multiple managers going to sync artifacts between each
>> other using rsync? LB will route traffic only to 1st manager node and the
>> 2nd manager node as the fail-over, right? If all the managers try to push
>> artifacts to workers then there will be conflicts/overwrites.
>>
>>
>> I think the whole artifacts deployment/sync strategy is going to be
>> changed from C5 on-wards. AFAIU, we will not be publishing artifacts to
>> gateway nodes directly in C5. Rather those artifacts will be injected at
>> the Docker image build process. So why don't we stick with SVN based
>> DepSync for now (C4 products)? What is the problem that we are trying to
>> solve by moving to rsync that we couldn't/cannot fix in SVN based model?
>>
>> Thanks.
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> 
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
>
> *Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
> email: kasung AT spamfree wso2.com
> linked-in: http://lk.linkedin.com/in/gajasinghe
> blog: http://kasunbg.org
>
>
>


-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

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


Re: [Architecture] Modification of the gadget generation wizard's extension structure

2016-06-08 Thread Tanya Madurapperuma
@ Manu :
Edit/ Re-generate function is not supported yet. The initial plan was to
have a gadget generation tool which is similar to what was there in DAS but
with extension points to plug providers and chart templates.

@ Jerad :
Please see my inline comments.
On Wed, Jun 8, 2016 at 10:04 AM, Jerad Rutnam  wrote:

> Hi Tanya,
>
> Few more suggestions for the offline chat we had previously, what if we do
> below changes?
>
> *Chart template structure*
>
> └── line-chart
> ├── api.js
> ├── config.json
> ├── chart-libs - *libs **[template folder could be something other
> than a chart type. e.g. Map, Widget]*
> │   └── vendorName_version
> │   └── [ js_css_images_etc_as_same_as_vendor_ships ]
> ├── css
> │   └── line-chart.css
> └── js
> └── line-chart.js
>
>
> *Generated gadget structure*
>
> └── test_gadget
> ├── conf.json
> ├── gadget-controller.jag
> ├── gadget.json
> ├── index.png
> ├── index.xml
> ├── chart-libs - *libs **[this folder can have any third party
> libraries, not only chart libraries]*
> │   └── vendorName_version
> │   └── [ js_css_images_etc_as_same_as_vendor_ships ]
> ├── css
> │   └── line-chart.css
> └── js
> ├── core-js - *core **[we are already in js folder - so we can
> take out the js part]*
> │   ├── gadget-core.js
> │   ├── line-chart-api.js
> │   └── provider-api.js
> └── line-chart.js
>
>
> And in chart *config.json*: What if we have file extensions along with
> the file name? Any reason to remove it?
>
> "*imports*": {
> "js": ["vendorName_version/common*.js*"],
> "css": ["vendorName_version/common*.css*"]
> },
> "*shared_imports*": { *[indicates users that all these are shared
> imports]*
> "js": ["vendorName_version/d3.min*.js*", "vendorName_version/vega
> *.js*", "line-chart*.js*"],
> "css": ["vendorName_version/graph*.css*, line-chart*.css*"]
> }
>
> Shouldn't this be other way round? First one should be shared_imports
(fetched from /portal/libs/ ) and second one will be imports (inside chart
template folder)

>
> WDYT? This will make it more generic. So we can avoid restricting to the
> term "chart".
>
>
> Cheers!
> Jerad
>
>
> On Tue, Jun 7, 2016 at 5:49 PM, Tanya Madurapperuma 
> wrote:
>
>> Hi all,
>>
>> Thank you for your inputs.
>>
>> @ Dakshika :
>> Based on your input following modifications were made.
>>
>> *Chart template structure*
>>
>> └── line-chart
>> ├── api.js
>> ├── config.json
>> ├── chart-libs
>> │   └── vendorName_version
>> │   └── js_css_images_etc_as_same_as_vendor_ships
>> ├── css
>> │   └── line-chart.css
>> └── js
>> └── line-chart.js
>>
>>
>> *Generated gadget structure*
>>
>> └── test_gadget
>> ├── conf.json
>> ├── gadget-controller.jag
>> ├── gadget.json
>> ├── index.png
>> ├── index.xml
>> ├── chart-libs
>> │   └── vendorName_version
>> │   └── js_css_images_etc_as_same_as_vendor_ships
>> ├── css
>> │   └── line-chart.css
>> └── js
>> ├── core-js
>> │   ├── gadget-core.js
>> │   ├── line-chart-api.js
>> │   └── provider-api.js
>> └── line-chart.js
>>
>>
>> *Folder structure for storing common libs*
>>
>> portal
>>   |── libs
>>
>>   ├── vendorName_version
>>   │   ├── 
>>
>>
>> *Changes to the existing model*
>>
>>- common libs will reside inside portal/libs/
>>
>> *chart config.json*
>>
>> "common": {
>> "js": ["vendorName_version/common"],
>> "css": ["vendorName_version/common"]
>> },
>> "chart": {
>> "js": ["vendorName_version/d3.min", "vendorName_version/vega",
>> "line-chart"],
>> "css": ["vendorName_version/graph, line-chart"]
>> }
>>
>> "common" is for libs fetched from /portal/libs
>> "chart" is for both chart specfic libs inside js folder of chart template
>> and chart-libs that are coming from vendors.
>>
>> So with the change suggested by Dakshika we will have to specify the
>> directory path of chart-libs in the config.json (ex:
>>  "vendorName_version/d3.min" )
>> But if it is a chart specific js file (in this example line-chart.js)
>> specifying the file name is enough.
>>
>> In the gadget xml of the generated gadget we will be using the relative
>> path for libs fetched from /portal/libs.
>>
>> @ Suho : Yes, the gadgets generated via old wizard will still work, I was
>> worried about the consistency between old gadgets and new gadgets generated
>> via the wizard. As per the offline chat we had, no obligations from IOT
>> side.
>>
>> Thanks,
>> Tanya
>>
>> --
>> Tanya Madurapperuma
>>
>> Senior Software Engineer,
>> WSO2 Inc. : wso2.com
>> Mobile : +94718184439
>> Blog : http://tanyamadurapperuma.blogspot.com
>>
>> On Tue, Jun 7, 2016 at 3:53 PM, Dakshika Jayathilaka 
>> wrote:
>>
>>> Hi All,
>>>
>>> IMO it's better if we can maintain third-party libraries as a separate
>>> entity. U

Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread KasunG Gajasinghe
On Wed, Jun 8, 2016 at 5:42 PM, Akila Ravihansa Perera 
wrote:

> Hi KasunG,
>
> How do you handle multiple manager scenario (for HA deployment) with the
> implementation that you have done? And what do you mean by standalone
> cluster mode?
>
>
What I meant was that this is for clustered deployments that are not
deployed on containers. A typical standard cluster.


> If we run this cron job on multiple managers then it can cause overwrites
> unless there is some kind of cluster coordination right?
>

Active-active multiple managers are not easy handle with rsync as I see
since you can't sync the folders in a bi-directional manner. In cases like
that, some kind of version control system is needed. This is where the SVN
based depsync comes in.


>
> Thanks.
>
>
> On Wednesday, 8 June 2016, KasunG Gajasinghe  wrote:
>
>>
>> We've also written rsync based artifact synchronization for the
>> stand-alone cluster mode. [1] This pushes the artifacts to workers
>> periodically via a cron job. A shared public key is used for
>> authentication.
>>
>> [1] https://gist.github.com/kasunbg/444df28a2e51a16bbd74
>>
>> On Wed, Jun 8, 2016 at 5:05 PM, Akila Ravihansa Perera <
>> raviha...@wso2.com> wrote:
>>
>>> Hi Manoj,
>>>
>>> How are those multiple managers going to sync artifacts between each
>>> other using rsync? LB will route traffic only to 1st manager node and the
>>> 2nd manager node as the fail-over, right? If all the managers try to push
>>> artifacts to workers then there will be conflicts/overwrites.
>>>
>>>
>>> I think the whole artifacts deployment/sync strategy is going to be
>>> changed from C5 on-wards. AFAIU, we will not be publishing artifacts to
>>> gateway nodes directly in C5. Rather those artifacts will be injected at
>>> the Docker image build process. So why don't we stick with SVN based
>>> DepSync for now (C4 products)? What is the problem that we are trying to
>>> solve by moving to rsync that we couldn't/cannot fix in SVN based model?
>>>
>>> Thanks.
>>>
>>> ___
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>>
>> *Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
>> email: kasung AT spamfree wso2.com
>> linked-in: http://lk.linkedin.com/in/gajasinghe
>> blog: http://kasunbg.org
>>
>>
>>
>
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

*Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
email: kasung AT spamfree wso2.com
linked-in: http://lk.linkedin.com/in/gajasinghe
blog: http://kasunbg.org
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread Chamila De Alwis
Hi Kasun,

On Wed, Jun 8, 2016 at 5:42 PM, Akila Ravihansa Perera 
wrote:

> On Wednesday, 8 June 2016, KasunG Gajasinghe  wrote:
>
>>
>> We've also written rsync based artifact synchronization for the
>> stand-alone cluster mode. [1] This pushes the artifacts to workers
>> periodically via a cron job. A shared public key is used for
>> authentication.
>>
>> [1] https://gist.github.com/kasunbg/444df28a2e51a16bbd74
>>
>
Thanks for this! However if we are apply this in a container cluster
environment the issues Akila have raised would surface. Mainly sharing the
lock between multiple pod replicas/instances. We can prebake the ssh key in
to the image, still multiple managers would run this script. We could
restrict the manager containers to one host and mount a host path, but that
would defeat the purpose of container cluster managers like Kubernetes and
Mesos.


Hi Akila,

On Wed, Jun 8, 2016 at 5:05 PM, Akila Ravihansa Perera 
>> wrote:
>>
>>>
>>>

>
>>> I think the whole artifacts deployment/sync strategy is going to be
>>> changed from C5 on-wards. AFAIU, we will not be publishing artifacts to
>>> gateway nodes directly in C5. Rather those artifacts will be injected at
>>> the Docker image build process. So why don't we stick with SVN based
>>> DepSync for now (C4 products)? What is the problem that we are trying to
>>> solve by moving to rsync that we couldn't/cannot fix in SVN based model?
>>>
>>
 For products such as ESB or even GREG (with a separate publisher and a
store) the artifacts can be pre-baked in to the image and the cluster could
rolling-updated. However for dynamic artifact generation involved scenarios
such as that of the API Manager, a quick dep sync would be required. I
agree that the existing SVN based dep sync is the easiest, but this is to
explore the possibility of overcoming existing issues in SVN based dep sync
in a container cluster environment.


>>> Thanks.
>>>
>>> __
>>
>>



Regards,
Chamila de Alwis
Committer and PMC Member - Apache Stratos
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Dep sync strategies for Carbon 4 products in Kubernetes

2016-06-08 Thread Isuru Haththotuwa
Hi,

On Wed, Jun 8, 2016 at 5:05 PM, Akila Ravihansa Perera 
wrote:

> Hi Manoj,
>
> How are those multiple managers going to sync artifacts between each other
> using rsync? LB will route traffic only to 1st manager node and the 2nd
> manager node as the fail-over, right? If all the managers try to push
> artifacts to workers then there will be conflicts/overwrites.
>
>
> I think the whole artifacts deployment/sync strategy is going to be
> changed from C5 on-wards. AFAIU, we will not be publishing artifacts to
> gateway nodes directly in C5.
>
AFAIU this is true for artifacts like webapps, etc. But IMHO an API is more
of a configuration (similar to a load balancer rule which specifies how to
forward the requests to the backend), so we would still need to
publish/modify/delete APIs in the runtime. This is my take on APIs :)

> Rather those artifacts will be injected at the Docker image build process.
> So why don't we stick with SVN based DepSync for now (C4 products)? What is
> the problem that we are trying to solve by moving to rsync that we
> couldn't/cannot fix in SVN based model?
>
AFAIU the rsync based model is more fault tolerant and robust than the SVN
based model for this particular purpose. However, the issue here is how
rsync would handle concurrent modifications on the same file (the multiple
manager node scenario). If we opt for the pull based rsync, this issue will
be resolved, but there might  an unnecessary load on the manager node with
continuous polling. Or else we can use an improved pull based model, where
a lightweight reliable notification is sent when an update is available, to
notify the workers to pull the changes.

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


-- 
Thanks and Regards,

Isuru H.
+94 716 358 048* *
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Frank Leymann
Vinod,

re-assignment must consider the state of the task. In your scenario, the
task that B is working on is inProgress (BPMN / HumanTask terminology =
"active/workedOn" in informal terminology also used in BPMN spec) and will
not (!) be re-assigned. Note that "claimed" means that a human being said
that she will work on it in some near future but that she is not yet
working on it; thus, it can still be re-assigned.



Best regards,
Frank

2016-06-06 7:41 GMT+02:00 Vinod Kavinda :

> Please find my comments inline..
>
>>
>>
>>> *Task Reassignment at the end of substitution period*
>>> When a user that was on vacation come back, we will not assign his past
>>> tasks back to himself from his substitute. Since we cannot track the
>>> progress of the tasks once it is assigned to a user, this is not reasonable.
>>> We will stop substitution of future tasks at this point.
>>>
>>
>> ​That's not typically what is required.  We should at least reassign
>> tasks that are not yet InProgess. ​ But Ready and Reserved tasks should be
>> reassigned to the user returned in any case.
>>
>
> Totally agreed to this if it is in a WS-Human task context.
>
> We are considering User tasks in BPMN here. In Activiti there is no such
> notion as task status. There is no such status like "In progress". Once a
> task is assigned to someone, we have to assume that he is working on it.
> If we automatically reassign tasks to original user, it will be a mess.
> (eg: in call centers, user A assign his tasks to B and go out. B is on a
> call for a task came from B. While he is on call A comes back, tasks get
> reassigned back to him. He will make another call for the same task, since
> the task is not completed, complete mix up!!)
>
> I don't think we should automatically reassign without the assignee
> consent. If we really need, we can have a API that a user can retrieve his
> own tasks thet were substituted to someone else.
>
> Vinod Kavinda
> Software Engineer
> *WSO2 Inc. - lean . enterprise . middleware .*
> Mobile : +94 (0) 712 415544
> Blog : http://soatechflicks.blogspot.com/
>
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Frank Leymann
Dear Vinod,

understood.  My recommendation is that we should argue as long as possible
independent from a certain implementation: if we may decide to move from
Activiti to Camunda, we should have the architecture/design right to port
our implementation with minimal effort. That's why I argue in terms of the
BPMN recommended state model, and when we agree on the principles we can
map it to the underlying engine. Does this sound acceptable?

Which brings up the following question:  When we support User Tasks in
Activiti, don't we use our HumanTask implementation as User Task as BPMN
2.0 assumes? But we use the simplified implementation that Activiti ships?
If we do the latter, what is our strategy of our HumanTask implementation?


Best regards,
Frank

2016-06-08 11:35 GMT+02:00 Vinod Kavinda :

> Hi Frank,
> Activiti has not defined states compliant with WS-HumanTask. It has only
> Created, Claimed and Completed states.
>
> Regards,
> Vinod
>
> On Wed, Jun 8, 2016 at 2:52 PM, Frank Leymann  wrote:
>
>> Dear Vinod,
>>
>> BPMN 2.0 explicitly refers to WS-HumanTask as implementation of a User
>> Task (see pp 166 ff) - although they say that there are many potential
>> different implementations, HumanTask is preferred (...and I co-authored
>> these sections, summarizing the position of the group ;-)). Thus, BPMN 2.0
>> does not refer to any states because its implementation dependent, but each
>> implementation has to define the states - otherwise we run into non-defined
>> situations we are discussion here.  Has Activiti these states defined?
>>
>>
>> Best regards,
>> Frank
>>
>> 2016-06-06 7:41 GMT+02:00 Vinod Kavinda :
>>
>>> Please find my comments inline..
>>>


> *Task Reassignment at the end of substitution period*
> When a user that was on vacation come back, we will not assign his
> past tasks back to himself from his substitute. Since we cannot track the
> progress of the tasks once it is assigned to a user, this is not 
> reasonable.
> We will stop substitution of future tasks at this point.
>

 ​That's not typically what is required.  We should at least reassign
 tasks that are not yet InProgess. ​ But Ready and Reserved tasks should be
 reassigned to the user returned in any case.

>>>
>>> Totally agreed to this if it is in a WS-Human task context.
>>>
>>> We are considering User tasks in BPMN here. In Activiti there is no such
>>> notion as task status. There is no such status like "In progress". Once a
>>> task is assigned to someone, we have to assume that he is working on it.
>>> If we automatically reassign tasks to original user, it will be a mess.
>>> (eg: in call centers, user A assign his tasks to B and go out. B is on a
>>> call for a task came from B. While he is on call A comes back, tasks get
>>> reassigned back to him. He will make another call for the same task, since
>>> the task is not completed, complete mix up!!)
>>>
>>> I don't think we should automatically reassign without the assignee
>>> consent. If we really need, we can have a API that a user can retrieve his
>>> own tasks thet were substituted to someone else.
>>>
>>> Vinod Kavinda
>>> Software Engineer
>>> *WSO2 Inc. - lean . enterprise . middleware .*
>>> Mobile : +94 (0) 712 415544
>>> Blog : http://soatechflicks.blogspot.com/
>>>
>>>
>>
>
>
> --
> Vinod Kavinda
> Software Engineer
> *WSO2 Inc. - lean . enterprise . middleware .*
> Mobile : +94 (0) 712 415544
> Blog : http://soatechflicks.blogspot.com/
>
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] Fwd: WSO2 API Manager 2.0.0 BETA Released!

2016-06-08 Thread Amila De Silva
*WSO2 API Manager 2.0.0 BETA Released!*


We are pleased to announce the BETA release of WSO2 API Manager 2.0.0.

WSO2 API Manager is a complete solution for designing and publishing APIs,
securing and routing API traffic in a scalable way, whilst nurturing a
developer community around the API ecosystem.

This release comes with both the runtime and analytics, providing
out-of-the-box support for API usage and performance analysis. You can
download these distributions below.

Runtime  - wso2am-2.0.0-BETA.zip

Analytics - wso2analytics-apim-1.0.0-beta.zip




*Improvements and Bug Fixes*

Improvements

   -

   [APIMANAGER-3816 ] - Admin
   Dashboard URL to be included in the list of services available on the
   carbon message console
   -

   [APIMANAGER-4475 ] - API
   authentication error response should bear the message type provided the
   Accept header of the request
   -

   [APIMANAGER-4595 ] -
   Message type of "invalid token" error message should change based on the
   Content-Type Header
   -

   [APIMANAGER-4600 ] -
   Provide a configuration to allow for disabling the Forum in the API Store UI
   -

   [APIMANAGER-4719 ] - Error
   message doesn't convey it's purpose in API Versioning
   -

   [APIMANAGER-4737 ] -
   Remove the ( ) brackets when a description is not given for an
   applicationlevel tier
   -

   [APIMANAGER-4740 ] -
   Remove Exception thrown when subscribing to blocked subscription
   -

   [APIMANAGER-4852 ] -
   system should allow to delete alerts that are shown on admin dashboard
   -

   [APIMANAGER-4893 ] -
   Revisit the UI of "Add Subscription Tier"
   -

   [ANLYAPIM-20 ] - New theme
   needed for API Analytics
   -

   [ANLYAPIM-20 ] - New theme
   needed for API Analytics

Bug Fixes

   -

   [APIMANAGER-2522 ] - Wrong
   rights for the Implement Stage for creator role
   -

   [APIMANAGER-2688 ] - Forum
   topic search issue
   -

   [APIMANAGER-2703 ] - Blank
   drop down menu and wrong caption in the absence of tier permission for the
   logged in user
   -

   [APIMANAGER-2922 ] - JWT
   TokenGeneration Certificate Header Parameter x5t encoding.
   -

   [APIMANAGER-4117 ] - exp
   claim in JWT does not comply with rfc7519
   -

   [APIMANAGER-4242 ] - API
   Custom Mediation Sequences Doesn't Foward the Call To Taget Endpoint When a
   Call Mediator is Used
   -

   [APIMANAGER-4325 ] -
   Carbon console shows inconsistent error log for subsequent invocations when
   access token is expired.
   -

   [APIMANAGER-4468 ] - ERROR
   - NativeWorkerPool Uncaught exception
   -

   [APIMANAGER-4534 ] -
   APIConsole is not showing response content type,even we set a value for
   'produces' attribute in APIPublisher
   -

   [APIMANAGER-4554 ] -
   grant_type=refresh_token fails on 1.10 with message Error decoding
   authorization header. Space delimited " " format
   violated.
   -

   [APIMANAGER-4583 ] -
   AddComment in Store is not working with MySQL
   -

   [APIMANAGER-4584 ] -
   Environment dropdown of API Console does not appear in IE11
   -

   [APIMANAGER-4590 ] -
   Invalid Access Token, if RemoveOAuthHeader is false
   -

   [APIMANAGER-4621 ] - API
   resource name contains "*" character and not validate that in the design
   phase (UI level)
   -

   [APIMANAGER-4625 ] - Links
   to documents and in Readme should be 2.0.0 (Latest documents)
   -

   [APIMANAGER-4630 ] -
   Rename Tier Availability in API Wizard manage page to Subscription Tiers
   -

   [APIMANAGER-4640 ] - Forum
   does not show all the e

Re: [Architecture] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Milinda Perera
On Wed, Jun 8, 2016 at 6:49 PM, Frank Leymann  wrote:

> Dear Vinod,
>
> understood.  My recommendation is that we should argue as long as possible
> independent from a certain implementation: if we may decide to move from
> Activiti to Camunda, we should have the architecture/design right to port
> our implementation with minimal effort. That's why I argue in terms of the
> BPMN recommended state model, and when we agree on the principles we can
> map it to the underlying engine. Does this sound acceptable?
>
> Which brings up the following question:  When we support User Tasks in
> Activiti, don't we use our HumanTask implementation as User Task as BPMN
> 2.0 assumes? But we use the simplified implementation that Activiti ships?
> If we do the latter, what is our strategy of our HumanTask implementation?
>



 +1, Soon or Later I think replacing Activiti User Task or introducing as a
new type of user task, with our WS-HumanTask it the best option.
AFAIR similar idea is in our future roadmap @Hasitha @Nandika : isn't it?

-- 
Milinda Perera
Software Engineer;
WSO2 Inc. http://wso2.com ,
Mobile: (+94) 714 115 032
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [Dev] Fwd: WSO2 API Manager 2.0.0 BETA Released!

2016-06-08 Thread Bhathiya Jayasekara
On Wed, Jun 8, 2016 at 6:53 PM, Amila De Silva  wrote:

>
> *WSO2 API Manager 2.0.0 BETA Released!*
>
>
> We are pleased to announce the BETA release of WSO2 API Manager 2.0.0.
>
> WSO2 API Manager is a complete solution for designing and publishing APIs,
> securing and routing API traffic in a scalable way, whilst nurturing a
> developer community around the API ecosystem.
>
> This release comes with both the runtime and analytics, providing
> out-of-the-box support for API usage and performance analysis. You can
> download these distributions below.
>
> Runtime  - wso2am-2.0.0-BETA.zip
> 
> Analytics - wso2analytics-apim-1.0.0-beta.zip
> 
>
>
>
> *Improvements and Bug Fixes*
>
> Improvements
>
>-
>
>[APIMANAGER-3816 ] -
>Admin Dashboard URL to be included in the list of services available on the
>carbon message console
>-
>
>[APIMANAGER-4475 ] - API
>authentication error response should bear the message type provided the
>Accept header of the request
>-
>
>[APIMANAGER-4595 ] -
>Message type of "invalid token" error message should change based on the
>Content-Type Header
>-
>
>[APIMANAGER-4600 ] -
>Provide a configuration to allow for disabling the Forum in the API Store 
> UI
>-
>
>[APIMANAGER-4719 ] -
>Error message doesn't convey it's purpose in API Versioning
>-
>
>[APIMANAGER-4737 ] -
>Remove the ( ) brackets when a description is not given for an
>applicationlevel tier
>-
>
>[APIMANAGER-4740 ] -
>Remove Exception thrown when subscribing to blocked subscription
>-
>
>[APIMANAGER-4852 ] -
>system should allow to delete alerts that are shown on admin dashboard
>-
>
>[APIMANAGER-4893 ] -
>Revisit the UI of "Add Subscription Tier"
>-
>
>[ANLYAPIM-20 ] - New theme
>needed for API Analytics
>-
>
>[ANLYAPIM-20 ] - New theme
>needed for API Analytics
>
> Bug Fixes
>
>-
>
>[APIMANAGER-2522 ] -
>Wrong rights for the Implement Stage for creator role
>-
>
>[APIMANAGER-2688 ] -
>Forum topic search issue
>-
>
>[APIMANAGER-2703 ] -
>Blank drop down menu and wrong caption in the absence of tier permission
>for the logged in user
>-
>
>[APIMANAGER-2922 ] - JWT
>TokenGeneration Certificate Header Parameter x5t encoding.
>-
>
>[APIMANAGER-4117 ] - exp
>claim in JWT does not comply with rfc7519
>-
>
>[APIMANAGER-4242 ] - API
>Custom Mediation Sequences Doesn't Foward the Call To Taget Endpoint When a
>Call Mediator is Used
>-
>
>[APIMANAGER-4325 ] -
>Carbon console shows inconsistent error log for subsequent invocations when
>access token is expired.
>-
>
>[APIMANAGER-4468 ] -
>ERROR - NativeWorkerPool Uncaught exception
>-
>
>[APIMANAGER-4534 ] -
>APIConsole is not showing response content type,even we set a value for
>'produces' attribute in APIPublisher
>-
>
>[APIMANAGER-4554 ] -
>grant_type=refresh_token fails on 1.10 with message Error decoding
>authorization header. Space delimited " " format
>violated.
>-
>
>[APIMANAGER-4583 ] -
>AddComment in Store is not working with MySQL
>-
>
>[APIMANAGER-4584 ] -
>Environment dropdown of API Console does not appear in IE11
>-
>
>[APIMANAGER-4590 ] -
>Invalid Access Token, if RemoveOAuthHeader is false
>-
>
>[APIMANAGER-4621 ] - API
>resource name contains "*" character and not validate that in the design
>phase (UI level)
>-
>
>[APIMANAGER-4625 ] -
>Links to documents an

Re: [Architecture] [Archiecture] ESB - Feature Request - JMS transactions with non-blocking transports

2016-06-08 Thread Manuranga Perera
> You can use call mediator in blocking mode.
>
Yes but you can only use blocking, this is a limitation.

If you want to implement concurrency still you can do this with
> transport.jms.ConcurrentConsumers with proxies.

Still, the number of concurrent requests we handle is upper limited by the
number of threads (just like in HTTP blocking mode), when JMS transactions
are involved. For the same reason we have non-blocking with HTTP, we can
extend JMS transport to be independent of the threads.

Transactions are bind to jms session and creating multiple sessions on
> demand are expensive.

I think this is how it works even now [1]. But this issue somewhat separate
from what I have suggested.


[1]
https://github.com/wso2/carbon-mediation/blob/master/components/inbound-endpoints/org.wso2.carbon.inbound.endpoint/src/main/java/org/wso2/carbon/inbound/endpoint/protocol/jms/factory/JMSConnectionFactory.java#L453
--
With regards,
*Manu*ranga Perera.

phone : 071 7 70 20 50
mail : m...@wso2.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Incremental data processing from last event onward[Without buffer]

2016-06-08 Thread Sachith Withana
Hi all,

First of all +1 for the idea since it would be a great addition on top of
the current incremental implementation.

As Maninda mentioned, it's really tricky to handle this from the timestmap
itself since we'll have to deal with events with timestamps smaller than
that of the processed, arriving late.

A better solution (IMO) would be to add another column to the tables from
the DAL layer itself, a* row ID with auto increments.*
Just as we do in the current incremental analytics, we can keep the

*last processed rowID.*
And in the next iteration we'll get rows of which the rowID >
lastProceesedRowID.

This way, the changes would be minimal, you add another column, based on
the user preference we either keep last processed timestamp or the last
processed row ID.

WDYT?

Regards,
Sachith

On Wed, Jun 8, 2016 at 3:42 AM, Maninda Edirisooriya 
wrote:

> Hi Gihan,
>
> Yes I am referring to the full incremental analytics we are planing on.
> What I mean is that we will have to extend Data Layer to add a column /
> meta data column to the table in order to add a meta data fields. Then we
> can add fields like "processed_query1" to the table when an incremental
> query like "query1" is added.
>
> Actually this implementation violates the independence of Data Layer table
> from the analytics it is involved, when metadata columns are added to the
> same table. So the other alternative is to add a separate data layer table
> to each incremental query to keep the processed state. (e.g. That table
> should have the columns of primary key of the real table + the boolean
> field, "processed") But in this approach when each record in the real table
> is being processed it should check the processed flag of that record in the
> meta data table which has a n^2 complexity. WDYT?
> Thanks.
>
>
> *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 Wed, Jun 8, 2016 at 1:42 PM, Gihan Anuruddha  wrote:
>
>> Hi Maninda,
>>
>> We have introduced some of the incremental data processing capabilities
>> with upcoming 3.1.0 release.  Please note that this doesn't support fully
>> functional data processing with data aggregation functionalities. Basically
>> what we have done is, introduced a way to fetch data based on time windows
>> to avoid iterate same data set from the beginning again and again. To avoid
>> the data losses, we have introduced some buffer time period and due to that
>> some of the events may return for select queries more than once in a
>> consecutive analytics task executions. Because of that, some aggregation
>> operations like average can be wrong. We have a plan to introduce fully
>> functional incremental data processing support in a future DAS release.
>>
>> Regards,
>> Gihan
>>
>> On Wed, Jun 8, 2016 at 11:53 AM, Maninda Edirisooriya 
>> wrote:
>>
>>> [Adding Architecture list]
>>>
>>> Hi all,
>>>
>>> Timestamp based approach for incremental processing is problematic as we
>>> have gone through long discussions on it and could not come to an
>>> acceptable solution. Instead I think following kind of approach would work.
>>>
>>> 1. For each incremental analytic script a metadata column is added to
>>> the analytics table with type boolean with name "processed" with value
>>> "false".
>>> 2. When an incremental script is executed on a data row, that particular
>>> row should get updated with *processed=true.*
>>> 3. Next time when the script get executed it can skip all the rows with
>>> field
>>>
>>> *processed=true.*
>>> This will avoid the timestamp restriction and buffer time issues and
>>> allow parallel execution on records.
>>> Thanks.
>>>
>>>
>>> *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 Wed, Jun 8, 2016 at 11:22 AM, Gihan Anuruddha  wrote:
>>>
 Hi Guys,

 To fulfill above requirement, we can add query as below and make
 necessary changes to back-end.

 *create temporary table t5 using CarbonAnalytics options (tableName
 "t3", schema "x INT, y INT", incrementalParams "t5, -1");*

 Basically,  we are passing -1 for buffer time. In the backend, if the
 buffer is -1 we only take last processed event timestamp and fetch the 
 data.

 If we insert 3 records and do the commit when the buffer is -1 and then
 next time do the select without inserting any records, we are not getting
 any result since after the saved timestamp there was no new record 
 inserted.

 So what do you think about this implementation?

 Regards,
 Gihan


 --
 W.G. Gihan Anuruddha
 Senior Software Engineer | WSO2, Inc.
 M: +94772272595

>>>
>>>
>>
>>
>> --
>> W.G. G

Re: [Architecture] Modification of the gadget generation wizard's extension structure

2016-06-08 Thread Manuranga Perera
Hi Tanya, Sinthuja,

1) We had a chat about how we can use gadget parameters instead of
generation, have you guys considered that approach?

Edit/ Re-generate function is not supported yet.

2) The issues is, with this model it will be harder to support that even in
the future. At least we should serialize all the parameters with the
generated gadget.

-- 
With regards,
*Manu*ranga Perera.

phone : 071 7 70 20 50
mail : m...@wso2.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Nandika Jayawardana
Yes, Once the task engine refactoring is complete, we can integrate our own
task implementation with activiti . Then we can overcome the current
limitations of user tasks.

Regards
Nandika

On Wed, Jun 8, 2016 at 7:18 PM, Milinda Perera  wrote:

>
> On Wed, Jun 8, 2016 at 6:49 PM, Frank Leymann  wrote:
>
>> Dear Vinod,
>>
>> understood.  My recommendation is that we should argue as long as
>> possible independent from a certain implementation: if we may decide to
>> move from Activiti to Camunda, we should have the architecture/design right
>> to port our implementation with minimal effort. That's why I argue in terms
>> of the BPMN recommended state model, and when we agree on the principles we
>> can map it to the underlying engine. Does this sound acceptable?
>>
>> Which brings up the following question:  When we support User Tasks in
>> Activiti, don't we use our HumanTask implementation as User Task as BPMN
>> 2.0 assumes? But we use the simplified implementation that Activiti ships?
>> If we do the latter, what is our strategy of our HumanTask implementation?
>>
>
>
>
>  +1, Soon or Later I think replacing Activiti User Task or introducing as
> a new type of user task, with our WS-HumanTask it the best option.
> AFAIR similar idea is in our future roadmap @Hasitha @Nandika : isn't it?
>
> --
> Milinda Perera
> Software Engineer;
> WSO2 Inc. http://wso2.com ,
> Mobile: (+94) 714 115 032
>
>


-- 
Nandika Jayawardana
WSO2 Inc ; http://wso2.com
lean.enterprise.middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Modification of the gadget generation wizard's extension structure

2016-06-08 Thread Sriskandarajah Suhothayan
On Wed, Jun 8, 2016 at 3:31 PM, Manuranga Perera  wrote:

> Hi Tanya, Sinthuja,
>
> 1) We had a chat about how we can use gadget parameters instead of
> generation, have you guys considered that approach?
>
> We have cases like database credentials which should not be shown to the
user and should not be editable from the gadget properties. Further we also
need a model that gadget should be greeted by some privileged user and used
by others, so the gadget generation is the appropriate model to handle
this.


> Edit/ Re-generate function is not supported yet.
>
> 2) The issues is, with this model it will be harder to support that even
> in the future. At least we should serialize all the parameters with the
> generated gadget.
>
> Editing is something we can achieve with very little effort, if we store
all the properties that we have passed in the UI in a config file within
the gadget then we can simply load that to the gadget generation wizard
when we need to modify the gadget.

Regards
Suho

> --
> With regards,
> *Manu*ranga Perera.
>
> phone : 071 7 70 20 50
> mail : m...@wso2.com
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

*S. Suhothayan*
Technical Lead & Team Lead of WSO2 Complex Event Processor
*WSO2 Inc. *http://wso2.com
* *
lean . enterprise . middleware


*cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
twitter: http://twitter.com/suhothayan
 | linked-in:
http://lk.linkedin.com/in/suhothayan *
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Modification of the gadget generation wizard's extension structure

2016-06-08 Thread Manuranga Perera
>
> 1) We had a chat about how we can use gadget parameters instead of
>> generation, have you guys considered that approach?
>>
>> We have cases like database credentials which should not be shown to the
> user and should not be editable from the gadget properties. Further we also
> need a model that gadget should be greeted by some privileged user and used
> by others, so the gadget generation is the appropriate model to handle
> this.
>
 I thought we can come up with a way to attach permissions to the params,
so they can be hidden depending on the user. (this will help us generally
not just for gadget gen case)

Edit/ Re-generate function is not supported yet.
>>
>> 2) The issues is, with this model it will be harder to support that even
>> in the future. At least we should serialize all the parameters with the
>> generated gadget.
>>
> Editing is something we can achieve with very little effort, if we store
> all the properties that we have passed in the UI in a config file within
> the gadget then we can simply load that to the gadget generation wizard
> when we need to modify the gadget.
>
Ya, that's what I also meant by serialize. But in that case the UX is
broken compared to the parameter method, since the user still has to go
though the wizard again, and you can't see the values from the left panel.

-- 
With regards,
*Manu*ranga Perera.

phone : 071 7 70 20 50
mail : m...@wso2.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [IS] User Challenge question Internationalization

2016-06-08 Thread Omindu Rathnaweera
Hi Fara,

A few questions.

i. How is this going to work in user registration ? Will there be an API to
retrieve a question set, given the locale?

ii. Will we be needing a tenant specific config to set a default locale ?

Having a default locale will be needed in a case like 'Ask password' where
an admin initiates a user registration flaw. AFAIK the default locale is
fixed to EN at the moment. So in that case a user will always receive the
account creation email in EN. May be the challenge questions system too can
benefit from such a config.

iii. When we are supporting questions in multiple locales, is it necessary
to have all the question in a set in each language ?


Regards,
Omindu.


On Sun, Jun 5, 2016 at 8:20 AM, Isura Karunaratne  wrote:

> Hi Farasath,
>
> Currently, we are using "http://wso2.org/claims/challengeQuestionUris "
> claim to identity user answered challenge question set Ids. Following is a
> sample value for that claim.
>
> *http://wso2.org/claims/challengeQuestion1!http://wso2.org/claims/challengeQuestion2
> .*
>
>
> user answered challenge questions are stored in different claims as
> follows.
>
> Claim URI : http://wso2.org/claims/challengeQuestion1
> Value: City where you were born
> ?!CCKWN1bOcOwXuJ3zPyThGZu3GZouQYGfw1tHWjUJdi4=
>
> Claim URI : http://wso2.org/claims/challengeQuestion2
> Value: What is your first pet's name
> ?!CCKWN1bOcOwXuJ3zPyThGZu3GZouQYGfw1tHWjUJdi4=
>
>
> So, actual challenge question and encripted answer is stored as claim.
> Since user may change his locale runtime, I think in new implementation we
> have to store some question id rather than questoin text in claim.
> Otherwise security question will display in previous locale.
>
> Other improvement that we can do here is to use json string to store
> question set ids and claim values rather than seperating from a seperator
> ("!")
>
> Thanks
> Isura.
>
>
>
> On Sat, Jun 4, 2016 at 1:43 PM, Farasath Ahamed 
> wrote:
>
>> Hi Kasun,
>>
>> "isPromoteQuestion" property is no longer used in our current
>> implementation. Therefore, we can get rid of the property and straight away
>> persist the challenge question as a registry resource.
>>
>> Thanks,
>>
>> Farasath Ahamed
>> Software Engineer,
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>>
>> Email: farasa...@wso2.com
>> Mobile: +94777603866
>> Blog: blog.farazath.com
>> Twitter: @farazath619 
>>
>> On Sat, Jun 4, 2016 at 12:26 AM, Kasun Bandara  wrote:
>>
>>> Hi Farasath,
>>>
>>> +1 for storing the content of the questions as the registry resource
>>> values. But how are you planning to store the boolean values such as "
>>> *isPromoteQuestion*" ?. I think it's better to keep that sort of data
>>> as a property value, so the retrieval process will be easy. WDYT ?
>>>
>>> Thanks,
>>> Kasun.
>>>
>>> On Sat, Jun 4, 2016 at 12:16 AM, Farasath Ahamed 
>>> wrote:
>>>
 Hi,

 In the current implementation, challenge questions are persisted to the
 registry as registry resource properties as shown below.


 I had a look at the discussion[1] on how persisting email templates for
 different locale should be done. I am planning to follow a similar approach
 in storing challenge questions for different locale. The idea explained in
 [1] is to store the template/question as a registry resource rather than as
 a registry property. So I will be following a structure similar to shown
 below to store the challenge questions.


 ​
 So each question will be stored following a 
 */system/config/challenge-questions///
 *convention as shown above. The first step is to reuse most of
 the email templates registry persistence code and make it generic (provide
 an interface) to retrieve any registry resource(eg: email templates,
 challenge questions, ) based on locale. The next step is to abstract the
 retrieval of resources logic to support retrieval of resources from a DB,
 API etc.


 [1] http://mail.wso2.org/mailarchive/architecture/2015-May/020188.html

 Thanks,
 Farasath Ahamed
 Software Engineer,
 WSO2 Inc.; http://wso2.com
 lean.enterprise.middleware

>>>
>>>
>>>
>>> --
>>> Kasun Bandara
>>> *Software Engineer*
>>> Mobile : +94 (0) 718 338 360
>>> <%2B94%20%280%29%20773%20451194>
>>> kas...@wso2.com 
>>>
>>
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Isura Dilhara Karunaratne
> Senior Software Engineer
>
> Mob +94 772 254 810
>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Omindu Rathnaweera
Software Engineer, WSO2 Inc.
Mobile: 

Re: [Architecture] [CEP] Siddhi Extension for calculate percentile values

2016-06-08 Thread Sriskandarajah Suhothayan
Since p can't change during the execution, make sure to force p to be a
constant value.
Am I correct here ?

Regards
Suho

On Wed, Jun 8, 2016 at 6:38 AM, Ashen Weerathunga  wrote:

> Hi All,
>
> I'm writing a siddhi extension for calculating percentile values. This
> will be implemented as an Aggregate Function Extension under math
> extensions. Two input parameter will be required for this function as below:
>
> * percentile(** arg, ** p)*
>
>- *arg* : values that need to be considered when calculating the
>percentile value
>- *p* : percentile
>- This will return an estimate for pth percentile of arg values.
>
> eg : *percentile(temperature, 95.0)*
>
>- returns the 95th percentile value of all the temperature events
>based on their arrival and expiry.
>
> Please let me know if you have any suggestions on this.
>
> Thanks,
> Ashen
>
> --
> *Ashen Weerathunga*
> Software Engineer
> WSO2 Inc.: http://wso2.com
> lean.enterprise.middleware
>
> Email: as...@wso2.com
> Mobile: +94 716042995 <94716042995>
> LinkedIn: *http://lk.linkedin.com/in/ashenweerathunga
> *
>



-- 

*S. Suhothayan*
Technical Lead & Team Lead of WSO2 Complex Event Processor
*WSO2 Inc. *http://wso2.com
* *
lean . enterprise . middleware


*cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
twitter: http://twitter.com/suhothayan
 | linked-in:
http://lk.linkedin.com/in/suhothayan *
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Revamping Refactoring Participants for Developer Studio artifacts to prevent corruption of project meta files (artifact.xml and pom.xml files)

2016-06-08 Thread Harshana Eranga Martin
Hi Kavith,

+1 for Solution 1 and -0 for Solution 2.

Rationale is as below.

Solution 1:

When we implemented the Refactoring Participants support back in 2012, it
was designed to handle single artifact deletions due to the model existed
at the time.

Even after introducing new change we continued to use the existing code
since we had more pressing matters to deal with.

Now we have are rewriting the bits and pieces it is a good time to
incorporate this enhancement to support the multiple artifact deletion
scenario and fix it properly.

Solution 2:

Artifact.xml is a metadata file managed by Dev Studio and we have already
mentioned users to not to do manual changes to it. If they do those changes
they do it at their own risk and knowing the consequences.Having daid
that  as the platform you cannot implement defensive programming to handle
all the possible  mistakes dine by users when it is clearly mentioned not
do it. So the -0 for that.

Thanks and Regards,
Harshana

On Wednesday, 8 June 2016, Kavith Lokuhewage  wrote:

> Hi,
>
> We have observed a few scenarios with Developer Studio where the
> artifact.xml files and pom.xml files of CApp projects, are getting
> corrupted while a user is doing a refactoring operation such as
> deleting/renaming project artifacts. After analyzing those scenarios, we
> have identified the root causes and below is a report on them and possible
> solutions to overcome them properly.
>
>
> *Problem 1: Deleting multiple artifacts*
> When deleting/renaming multiple artifacts in a project at the same
> time, artifact.xml file of the project and pom.xml files of CApp projects
> which include those artifacts, are getting corrupted sometimes.
>
> For example, think of a scenario where we want to delete multiple registry
> resources from a registry project and those resources are included in a
> CApp project opened in the same work-space.
>
> When you go to the delete preview window, it shows required changes to
> pom.xml of the CApp project and artifact.xml of the registry project,
> correctly. Yet at the moment those changes are applied, file gets
> corrupted.
>
> Eclipse applies the required changes to a particular file (the list you
> can see in delete preview window), *one by one*. To apply them, Eclipse
> refactoring API uses text token meta-data - offsets, lengths (and replace
> tokens if it is a rename operation) - defined in each change object (delete
> preview also uses the same meta-data when displaying diffs for each file).
> it has no knowledge about XML content. It is only a text replace API.
> The problem is, when we have multiple change objects for a single file,
> when the first change is applied to the file, the offsets defined in
> subsequent change objects for the same file, are no longer valid. They need
> to be re-synced with the modified file by first change. And it goes on same
> for each subsequent change.
>
> Since Eclipse is not capable of syncing the offsets as such, we finally
> get a corrupted XML file with random strings.
>
> *Solution:*
>
> Syncing up offsets after a change by change is not a salable solution and
> anyway Eclipse Refactoring API offers no ways to get it done.
>
> The key point is not have multiple change objects for the same file. A
> single change object is capable of containing metadata for multiple tokens.
> If we can grab the list of all files which are going to be deleted/renamed
> within a single refactoring operation, we can  group all the required
> changes by file Id and make single change object - one per each file that
> needs modifications.
>
> This achievable with the ISharableParticipant
> 
> [1]  interface. This allows us to bind a single RefactoringParticipant
> object for a list of files that are going to be refactored. The
> createChange method of a shared participant will only be called after all
> the files are processed, hence we have time to group all required changes
> by file and make composite change objects for each file.
>
>
>
> *Problem 2: User modifying aritifact.xml *
> When a user has modified a meta file of a project manually, while deleting
> or renaming artifacts in that project, meta file gets corrupted randomly.
>
> As I have pointed out previously, we currently use TextFileChange API of
> eclipse to implement the refactoring model for these XML meta files. This
> API is not XML aware - it only takes token offsets and lengths as
> arguments. Furthermore, we are currently using regular expressions and
> string search APIs (eg. indexOf) to find token offsets within the meta
> files. When a user modifies these XML meta files manually, there seems to
> be situations that these regex searches are not working/giving correct
> offsets due to changed formatting of the file.
>
>
> *Solution:*
>
> There is a possibility for fine 

Re: [Architecture] [CEP] Siddhi Extension for calculate percentile values

2016-06-08 Thread Seshika Fernando
Ashen,
Is there no way that we can provide a window for temperature field?
Practically, we may want to know the 97th percentile of the last n events.
In that case how would I use this extension? It might be a good idea to
allow user to provide an interval based on length and/or time (like we do
for regression)

On 9 Jun 2016 01:54, "Sriskandarajah Suhothayan"  wrote:
>
> Since p can't change during the execution, make sure to force p to be a
constant value.
> Am I correct here ?

+1. Yes, it should be constant.

>
> Regards
> Suho
>
> On Wed, Jun 8, 2016 at 6:38 AM, Ashen Weerathunga  wrote:
>>
>> Hi All,
>>
>> I'm writing a siddhi extension for calculating percentile values. This
will be implemented as an Aggregate Function Extension under math
extensions. Two input parameter will be required for this function as below:
>>
>>  percentile( arg,  p)
>> arg : values that need to be considered when calculating the percentile
value
>> p : percentile
>> This will return an estimate for pth percentile of arg values.
>> eg : percentile(temperature, 95.0)
>> returns the 95th percentile value of all the temperature events based on
their arrival and expiry.
>> Please let me know if you have any suggestions on this.
>>
>> Thanks,
>> Ashen
>>
>> --
>> Ashen Weerathunga
>> Software Engineer
>> WSO2 Inc.: http://wso2.com
>> lean.enterprise.middleware
>>
>> Email: as...@wso2.com
>> Mobile: +94 716042995
>> LinkedIn: http://lk.linkedin.com/in/ashenweerathunga
>
>
>
>
> --
> S. Suhothayan
> Technical Lead & Team Lead of WSO2 Complex Event Processor
> WSO2 Inc. http://wso2.com
> lean . enterprise . middleware
>
> cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
> twitter: http://twitter.com/suhothayan | linked-in:
http://lk.linkedin.com/in/suhothayan
>
> ___
> 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] BPMN - Bulk Task Reassignment, Substitution feature

2016-06-08 Thread Vinod Kavinda
Hi Frank,
Agreed.
I have created Jira [1] to track this improvement after the Human Task
integration with BPMN engine.

[1] - https://wso2.org/jira/browse/BPS-1043

Regards,
Vinod

On Wed, Jun 8, 2016 at 10:03 PM, Nandika Jayawardana 
wrote:

> Yes, Once the task engine refactoring is complete, we can integrate our
> own task implementation with activiti . Then we can overcome the current
> limitations of user tasks.
>
> Regards
> Nandika
>
> On Wed, Jun 8, 2016 at 7:18 PM, Milinda Perera  wrote:
>
>>
>> On Wed, Jun 8, 2016 at 6:49 PM, Frank Leymann  wrote:
>>
>>> Dear Vinod,
>>>
>>> understood.  My recommendation is that we should argue as long as
>>> possible independent from a certain implementation: if we may decide to
>>> move from Activiti to Camunda, we should have the architecture/design right
>>> to port our implementation with minimal effort. That's why I argue in terms
>>> of the BPMN recommended state model, and when we agree on the principles we
>>> can map it to the underlying engine. Does this sound acceptable?
>>>
>>> Which brings up the following question:  When we support User Tasks in
>>> Activiti, don't we use our HumanTask implementation as User Task as BPMN
>>> 2.0 assumes? But we use the simplified implementation that Activiti ships?
>>> If we do the latter, what is our strategy of our HumanTask implementation?
>>>
>>
>>
>>
>>  +1, Soon or Later I think replacing Activiti User Task or introducing as
>> a new type of user task, with our WS-HumanTask it the best option.
>> AFAIR similar idea is in our future roadmap @Hasitha @Nandika : isn't it?
>>
>> --
>> Milinda Perera
>> Software Engineer;
>> WSO2 Inc. http://wso2.com ,
>> Mobile: (+94) 714 115 032
>>
>>
>
>
> --
> Nandika Jayawardana
> WSO2 Inc ; http://wso2.com
> lean.enterprise.middleware
>



-- 
Vinod Kavinda
Software Engineer
*WSO2 Inc. - lean . enterprise . middleware .*
Mobile : +94 (0) 712 415544
Blog : http://soatechflicks.blogspot.com/
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Modification of the gadget generation wizard's extension structure

2016-06-08 Thread Tanya Madurapperuma
On Thu, Jun 9, 2016 at 1:10 AM, Manuranga Perera  wrote:

> 1) We had a chat about how we can use gadget parameters instead of
>>> generation, have you guys considered that approach?
>>>
>>> We have cases like database credentials which should not be shown to the
>> user and should not be editable from the gadget properties. Further we also
>> need a model that gadget should be greeted by some privileged user and used
>> by others, so the gadget generation is the appropriate model to handle
>> this.
>>
>  I thought we can come up with a way to attach permissions to the params,
> so they can be hidden depending on the user. (this will help us generally
> not just for gadget gen case)
>
> Edit/ Re-generate function is not supported yet.
>>>
>>> 2) The issues is, with this model it will be harder to support that even
>>> in the future. At least we should serialize all the parameters with the
>>> generated gadget.
>>>
>> Editing is something we can achieve with very little effort, if we store
>> all the properties that we have passed in the UI in a config file within
>> the gadget then we can simply load that to the gadget generation wizard
>> when we need to modify the gadget.
>>
> Ya, that's what I also meant by serialize. But in that case the UX is
> broken compared to the parameter method, since the user still has to go
> though the wizard again, and you can't see the values from the left panel.
>
As Suho said with this model we store all the user inputs for provider
configuration and chart configuration in a  json file (conf.json), so if
required we can provider an UI option for the *priviledged* users to edit
those properties in the future. So that user doesn't have to go through the
wizard again.

Thanks,
Tanya

>
> --
> With regards,
> *Manu*ranga Perera.
>
> phone : 071 7 70 20 50
> mail : m...@wso2.com
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Tanya Madurapperuma

Senior Software Engineer,
WSO2 Inc. : wso2.com
Mobile : +94718184439
Blog : http://tanyamadurapperuma.blogspot.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] [PET] Connector improvement - People HR connector

2016-06-08 Thread Vivekananthan Sivanayagam
Hi All,

I am going to improve a People HR connector, in the existing one, it has
the following methods. I've planned to improve the additional methods which
are highlighted below.

1) Absence

   -  createAbsenceRecord
   -  getAbsenceRecord
   -  updateAbsenceRecord
   -  deleteAbsence

2) Employee

   -  createEmployee
   -  getAllEmployeeDetail
   -  getEmployee
   -  updateEmployee
   -  getEmployeeDetailById
   -  updateEmployeeId
   -  markAsLeaverById

3) ProjectTimesheet

   -  createProjectTimesheet
   -  getProjectTimesheet
   -  updateProjectTimesheet
   -  deleteProjectTimesheet

4) Salary

   -  createSalary
   -  getSalary
   -  deleteSalary

5) Timesheet

   - createTimesheet
   - getTimesheet
   - updateTimesheet
   - deleteTimesheet

6) Queries

   -  query

7) Holiday

   -   getHolidayDetail
   -   createHoliday
   -   updateHoliday
   -   deleteHoliday

8) Holiday Entitlement

   -   getHolidayEntitlement
   -   getNextYearHolidayEntitlement
   -   updateHolidayEntitlement
   -   updateNextYearHolidayEntitlement

9) History

   -  getHistoryByEmployeeIdAndFieldName

10) Document

   -  uploadEmployeeDocument
   -  getAllDocument
   -  GetDocumentById

Please let me know if you have any requirements/suggestion on above methods
to implement.





*Thank youVivekananthan Sivanayagam*

*Associate Software Engineer | WSO2*

*E:vivekanant...@wso2.com *
*M:+94752786138*
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [PET] Connector improvement - People HR connector

2016-06-08 Thread Malaka Silva
Hi Vivekananthan,

What is the api version that current connector is written. Also what are
the apis and versions available with peoplehr?

On Thu, Jun 9, 2016 at 9:38 AM, Vivekananthan Sivanayagam <
vivekanant...@wso2.com> wrote:

> Hi All,
>
> I am going to improve a People HR connector, in the existing one, it has
> the following methods. I've planned to improve the additional methods which
> are highlighted below.
>
> 1) Absence
>
>-  createAbsenceRecord
>-  getAbsenceRecord
>-  updateAbsenceRecord
>-  deleteAbsence
>
> 2) Employee
>
>-  createEmployee
>-  getAllEmployeeDetail
>-  getEmployee
>-  updateEmployee
>-  getEmployeeDetailById
>-  updateEmployeeId
>-  markAsLeaverById
>
> 3) ProjectTimesheet
>
>-  createProjectTimesheet
>-  getProjectTimesheet
>-  updateProjectTimesheet
>-  deleteProjectTimesheet
>
> 4) Salary
>
>-  createSalary
>-  getSalary
>-  deleteSalary
>
> 5) Timesheet
>
>- createTimesheet
>- getTimesheet
>- updateTimesheet
>- deleteTimesheet
>
> 6) Queries
>
>-  query
>
> 7) Holiday
>
>-   getHolidayDetail
>-   createHoliday
>-   updateHoliday
>-   deleteHoliday
>
> 8) Holiday Entitlement
>
>-   getHolidayEntitlement
>-   getNextYearHolidayEntitlement
>-   updateHolidayEntitlement
>-   updateNextYearHolidayEntitlement
>
> 9) History
>
>-  getHistoryByEmployeeIdAndFieldName
>
> 10) Document
>
>-  uploadEmployeeDocument
>-  getAllDocument
>-  GetDocumentById
>
> Please let me know if you have any requirements/suggestion on above
> methods to implement.
>
>
>
>
>
> *Thank youVivekananthan Sivanayagam*
>
> *Associate Software Engineer | WSO2*
>
> *E:vivekanant...@wso2.com *
> *M:+94752786138 <%2B94752786138>*
>



-- 

Best Regards,

Malaka Silva
Senior Technical Lead
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
Blog : http://mrmalakasilva.blogspot.com/

WSO2, Inc.
lean . enterprise . middleware
http://www.wso2.com/
http://www.wso2.com/about/team/malaka-silva/

https://store.wso2.com/store/

Save a tree -Conserve nature & Save the world for your future. Print this
email only if it is absolutely necessary.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [CEP] Siddhi Extension for calculate percentile values

2016-06-08 Thread Ashen Weerathunga
@Suho,
sure, I'll handle that.

@Seshi,
I'm writing this as an Aggregate Function Extension. Therefore, it will be
supported for all the window types that currently supports for aggregate
functions such as avg, min, max etc. As an example, we can write a query as
below,

*from inputStream#window.lengthBatch(100)*
*select math:percentile(temperature, 97.0) as percentile*
*insert into outputStream;*

Above query will return the 97th percentile value of last 100 events of
temperature variable.

Likewise, we can use other windows such as timeBatch, cron etc as for the
requirement. Would that approach be OK with this?

Thanks,
Ashen

On Thu, Jun 9, 2016 at 5:18 AM, Seshika Fernando  wrote:

> Ashen,
> Is there no way that we can provide a window for temperature field?
> Practically, we may want to know the 97th percentile of the last n events.
> In that case how would I use this extension? It might be a good idea to
> allow user to provide an interval based on length and/or time (like we do
> for regression)
>
> On 9 Jun 2016 01:54, "Sriskandarajah Suhothayan"  wrote:
> >
> > Since p can't change during the execution, make sure to force p to be a
> constant value.
> > Am I correct here ?
>
> +1. Yes, it should be constant.
>
> >
> > Regards
> > Suho
> >
> > On Wed, Jun 8, 2016 at 6:38 AM, Ashen Weerathunga 
> wrote:
> >>
> >> Hi All,
> >>
> >> I'm writing a siddhi extension for calculating percentile values. This
> will be implemented as an Aggregate Function Extension under math
> extensions. Two input parameter will be required for this function as below:
> >>
> >>  percentile( arg,  p)
> >> arg : values that need to be considered when calculating the percentile
> value
> >> p : percentile
> >> This will return an estimate for pth percentile of arg values.
> >> eg : percentile(temperature, 95.0)
> >> returns the 95th percentile value of all the temperature events based
> on their arrival and expiry.
> >> Please let me know if you have any suggestions on this.
> >>
> >> Thanks,
> >> Ashen
> >>
> >> --
> >> Ashen Weerathunga
> >> Software Engineer
> >> WSO2 Inc.: http://wso2.com
> >> lean.enterprise.middleware
> >>
> >> Email: as...@wso2.com
> >> Mobile: +94 716042995
> >> LinkedIn: http://lk.linkedin.com/in/ashenweerathunga
> >
> >
> >
> >
> > --
> > S. Suhothayan
> > Technical Lead & Team Lead of WSO2 Complex Event Processor
> > WSO2 Inc. http://wso2.com
> > lean . enterprise . middleware
> >
> > cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
> > twitter: http://twitter.com/suhothayan | linked-in:
> http://lk.linkedin.com/in/suhothayan
> >
> > ___
> > Architecture mailing list
> > Architecture@wso2.org
> > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
> >
>
>


-- 
*Ashen Weerathunga*
Software Engineer
WSO2 Inc.: http://wso2.com
lean.enterprise.middleware

Email: as...@wso2.com
Mobile: +94 716042995 <94716042995>
LinkedIn: *http://lk.linkedin.com/in/ashenweerathunga
*
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [PET] Connector improvement - People HR connector

2016-06-08 Thread Vivekananthan Sivanayagam
Hi Malaka,

There is no specific api version for a People HR, here in the connector we
have just added the newly available mandatory parameters and some
additional methods highlighted above.

The api url is "https://api.peoplehr.net";, this is using in the existing
connector. There is no change in the api url.





*Thank youVivekananthan Sivanayagam*

*Associate Software Engineer | WSO2*

*E:vivekanant...@wso2.com *
*M:+94752786138*

On Thu, Jun 9, 2016 at 9:56 AM, Malaka Silva  wrote:

> Hi Vivekananthan,
>
> What is the api version that current connector is written. Also what are
> the apis and versions available with peoplehr?
>
> On Thu, Jun 9, 2016 at 9:38 AM, Vivekananthan Sivanayagam <
> vivekanant...@wso2.com> wrote:
>
>> Hi All,
>>
>> I am going to improve a People HR connector, in the existing one, it has
>> the following methods. I've planned to improve the additional methods which
>> are highlighted below.
>>
>> 1) Absence
>>
>>-  createAbsenceRecord
>>-  getAbsenceRecord
>>-  updateAbsenceRecord
>>-  deleteAbsence
>>
>> 2) Employee
>>
>>-  createEmployee
>>-  getAllEmployeeDetail
>>-  getEmployee
>>-  updateEmployee
>>-  getEmployeeDetailById
>>-  updateEmployeeId
>>-  markAsLeaverById
>>
>> 3) ProjectTimesheet
>>
>>-  createProjectTimesheet
>>-  getProjectTimesheet
>>-  updateProjectTimesheet
>>-  deleteProjectTimesheet
>>
>> 4) Salary
>>
>>-  createSalary
>>-  getSalary
>>-  deleteSalary
>>
>> 5) Timesheet
>>
>>- createTimesheet
>>- getTimesheet
>>- updateTimesheet
>>- deleteTimesheet
>>
>> 6) Queries
>>
>>-  query
>>
>> 7) Holiday
>>
>>-   getHolidayDetail
>>-   createHoliday
>>-   updateHoliday
>>-   deleteHoliday
>>
>> 8) Holiday Entitlement
>>
>>-   getHolidayEntitlement
>>-   getNextYearHolidayEntitlement
>>-   updateHolidayEntitlement
>>-   updateNextYearHolidayEntitlement
>>
>> 9) History
>>
>>-  getHistoryByEmployeeIdAndFieldName
>>
>> 10) Document
>>
>>-  uploadEmployeeDocument
>>-  getAllDocument
>>-  GetDocumentById
>>
>> Please let me know if you have any requirements/suggestion on above
>> methods to implement.
>>
>>
>>
>>
>>
>> *Thank youVivekananthan Sivanayagam*
>>
>> *Associate Software Engineer | WSO2*
>>
>> *E:vivekanant...@wso2.com *
>> *M:+94752786138 <%2B94752786138>*
>>
>
>
>
> --
>
> Best Regards,
>
> Malaka Silva
> Senior Technical Lead
> M: +94 777 219 791
> Tel : 94 11 214 5345
> Fax :94 11 2145300
> Skype : malaka.sampath.silva
> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
> Blog : http://mrmalakasilva.blogspot.com/
>
> WSO2, Inc.
> lean . enterprise . middleware
> http://www.wso2.com/
> http://www.wso2.com/about/team/malaka-silva/
> 
> https://store.wso2.com/store/
>
> Save a tree -Conserve nature & Save the world for your future. Print this
> email only if it is absolutely necessary.
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Sharing Dashboards that have gadgets with role restriction

2016-06-08 Thread Tanya Madurapperuma
To add into what Megala has explained..

We decided the above approach due to below reasons.

   1. In the gadget listing page of the designer mode, we list only the
   intersection of the gadget that are authorized for the logged in user and
   restricted viewers of that particular view. So if we warn the dashboard
   creator saying "you have added a restricted gadget, if you share or
   planning share this dashboard across tenants, those gadget will be shown to
   the tenant users" at the time of adding a new gadget to the dashboard, he
   will be frustrated if he doesn't want to share this dashboard. So we
   skipped that option.
   2. We decided* only to warn* the user at the time of sharing the
   dashboard rather than hiding those gadgets in tenants view, because say a
   particular gadget is restricted only for Role1 in super tenant. There can
   be a role with the same name in another tenant which serves a different
   purpose. So blindly we can't hide gadgets in tenant mode based on the role
   specified in the gadget.

Thanks,
Tanya

On Thu, Jun 9, 2016 at 10:09 AM, Megala Uthayakumar  wrote:

> Hi All,
>
> We have created a new feature for DS which allows the dashboard created
> from super-tenant to be shared among all the tenants. For more information,
> please refer to documentation at [1]. With the new release we are going to
> introduce fine-grained permission for gadgets. So that, gadgets' access can
> be restricted using roles. In that case, when we share the dashboards
> across tenants the gadgets with role restriction will not be shown as roles
> are limited to each tenant.
>
> But if we think this from the point-of view of the user, who is willing to
> share the dashboard, he/she will expect tenants to have the same level
> functionality in the view mode.In order to solve this problem, we have
> come up with following option.
>
> When a super-tenant user tries to share the dashboard, we will give a
> warning saying, this set of gadgets in this dashboard are restricted to
> these roles. If he/she share the dashboard, then it will be shown to all
> other tenant users regardless of role of the user. Then it is user`s
> decision on whether to share/not to share the dashboard.  WDYT ?
>
> Any comments on this is highly appreciated.
>
> [1]
> https://docs.google.com/a/wso2.com/document/d/1JjB0Ehf6LzJ13krLwN3vo3fLVU4AHQevBtfzN8XqZ70/edit?usp=sharing
>
> Thanks.
>
> Regards,
> Megala
> --
> Megala Uthayakumar
>
> Software Engineer
> Mobile : 0779967122
>



-- 
Tanya Madurapperuma

Senior Software Engineer,
WSO2 Inc. : wso2.com
Mobile : +94718184439
Blog : http://tanyamadurapperuma.blogspot.com
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


[Architecture] C5 Usercore - Caching

2016-06-08 Thread Jayanga Kaushalya
Hi all,

Caching for user core has been implemented for the identity store and for
the authorization store. Credential store has been opted out from caching
because we do not cache user credentials as a practice.
For the identity store and for the authorization store, following caches
have been added.

Identity Store:

   - USER_USERNAME - Store user using username.
   - USER_USERID - Store user using user id.
   - GROUP_GROUPNAME - Store group using group name.
   - GROUP_GROUPID - Store group using group id.
   - GROUPS_USERID_IDENTITYSTOREID - Store set of groups using user id and
   the identity store id.

Authorization Store:

   - ROLE_ROLENAME - Store role using role name.
   - ROLES_USERID_IDENTITYSTOREID - Store set of roles using user id and
   the identity store id.
   - ROLES_GROUPID_IDENTITYSTOREID - Store set of roles using group id and
   the identity store id.
   - PERMISSION_REOURCEID_ACTION - Store pemision using resource id and the
   action.
   - PERMISSIONS_ROLEID_AUTHORIZATIONSTOREID - Store set of permissions
   using role id and the authorization store id.

The rationale behind choosing above caches is the frequency of use. User,
Group, Role and Permissions related operations are the more frequently used
operations in the user core.

Please share your thoughts.

Thanks!

*Jayanga Kaushalya*
Software Engineer
Mobile: +94777860160
WSO2 Inc. | http://wso2.com
lean.enterprise.middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Identity Management Recovery API improvements.

2016-06-08 Thread Dilan Udara Ariyaratne
Hi Isura,

According to the REST API Guidelines that we have defined across all the
products,
following suggestions can be made regarding the resource paths that you
have proposed.

[1] Base-path "accountrecovery" has two words in it and they can be
separated by a dash, i.e. as "account-recovery".
[2] It seems that path "rest" does not make any sense as a resource, so it
can be removed.
[3] Also, all the underscore signs included in processiong-functions like
"reset_password" and resource-paths like "security_questions_response"
could be replaced with a dash (-).

Regards,
Dilan.

*Dilan U. Ariyaratne*
Senior Software Engineer
WSO2 Inc. 
Mobile: +94766405580 <%2B94766405580>
lean . enterprise . middleware


On Wed, Jun 8, 2016 at 1:02 PM, Isura Karunaratne  wrote:

> Identity Management Recovery API improvements.
>
> In Identity Server 5.3.0, we are going to implement Identity Management
> recovery APIs as rest resources. In current implementations of IS5.0.0,
> IS5.1.0 we have soap APIs for recovery scenarios. [1].
>
> Captcha validation is coupled with recovery flows in existing soap API
> implementation and we have improved Java API to decouple to the captcha
> validation from recovery flows in new implementations. [4]
> Existing soap APIs.Recover with Notification [2]
>
>-
>
>getCaptcha() -­ Generates a captcha.
>-
>
>verifyUser() -­ Validates the captcha answer and username and returns
>a new key.
>-
>
>sendRecoveryNotification() -­ Send an email notification with a
>confirmation code to the user. Need to provide the key from the previous
>call.
>-
>
>getCaptcha() ­- Generates a captcha when the user clicks on the URL.
>-
>
>verifyConfirmationCode() -­ Validates the captcha answer and
>confirmation code. This returns a key.
>-
>
>updatePassword -­ Updates the password in the system. Need to provide
>the key from the previous call, new password and returns the status of the
>update, true or false.
>
> Recover with Secret Questions[3]
>
>-
>
>getCaptcha() ­- Generates a captcha.
>-
>
>verifyUser() ­- Validates the captcha answer and username and returns
>a new key.
>-
>
>getUserChallengeQuestionIds() ­- Retrieve the claim URI IDs specified
>for the user with the generated key. Need to provide the key from the
>previous call.
>-
>
>getUserChallengeQuestion() ­- Retrieve the user’s challenge question
>for the specified claim URI ID from the previous call. Need to provide the
>key from the previous call.
>-
>
>verifyUserChallengeAnswer() ­- Validates the answer and confirmation
>code for the specified question. Need to provide the key from the previous
>call.
>-
>
>updatePassword() ­- Updates the password in the system. Need to
>provide the key from the previous call, the new password and return the
>status of the update, i.e. true or false.
>
>
>
>
>
> New APIs
> Recover with Notification
>
>-
>
>sendRecoveryNotification() : validate user and returns a new key
>through a notification.
>-
>
>updatePassword() : Updates the password in the system. Need to provide
>the key from notification, new password
>
>
> Recover with Secret Questions
>
>-
>
>intiateUserChallengeQuestion(); ­validate user and returns a question
>to answer with a secret code
>-
>
>verifyUserChallengeAnswer(); validate secret code and answer for the
>question in previous step. Return a new question with new secret until
>minimum number of questions are answered.
>-
>
>updatePassword(); Updates the password in the system. Need to provide
>the key from notification, new password
>
>
>
> New APIs for Multiple Questions at once
>
>-
>
>getAllChallegeQuestions(); validate user and returns all questions to
>answer with a secret code
>-
>
>validateAllChallengeAnswers(); validate code and all answers and
>return a code if success
>-
>
>updatePassword();Updates the password in the system. Need to provide
>the key from notification, new password
>
>
>
>
>
>
>
>
>
>
>
> [1] https://docs.wso2.com/display/IS510/Password+Recovery
>
> [2]
> https://docs.wso2.com/display/IS510/Password+Recovery#PasswordRecovery-Recoveryusingnotifications
>
> [3]
> https://docs.wso2.com/display/IS510/Password+Recovery#PasswordRecovery-Recoveryusingchallengequestions
>
> [4] [Architecture] Decouple capcha validation from Recovery flows
>
>
>
> Sample Requests
> Send Email Notification
>
> POST accountrecovery/rest/notification/notify
> 
>
>
> Request Body
>
>  {
>
> "userName": "testuser",
>
> "tenantDomain": "carbon.super",
>
>  "userStoreDomain": "PRIMARY"
>
> }
>
>
> If notifications are internally managed,
>
> Response Body
>
> HTTP 200
>
>
> If notifications are externally managed,
>
> Response Body
>
> {
>
> "user": {
>
> "

Re: [Architecture] Identity Management Recovery API improvements.

2016-06-08 Thread Harsha Thirimanna
Hi Isura,

Any detail about the error response with relevant error codes ?



*Harsha Thirimanna*
Associate Tech Lead; WSO2, Inc.; http://wso2.com
* *
*email: **hars...@wso2.com* * cell: +94 71 5186770 *
*twitter: **http://twitter.com/ *
*harshathirimannlinked-in: **http:
**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
*

*Lean . Enterprise . Middleware*


On Thu, Jun 9, 2016 at 10:46 AM, Dilan Udara Ariyaratne 
wrote:

> Hi Isura,
>
> According to the REST API Guidelines that we have defined across all the
> products,
> following suggestions can be made regarding the resource paths that you
> have proposed.
>
> [1] Base-path "accountrecovery" has two words in it and they can be
> separated by a dash, i.e. as "account-recovery".
> [2] It seems that path "rest" does not make any sense as a resource, so it
> can be removed.
> [3] Also, all the underscore signs included in processiong-functions like
> "reset_password" and resource-paths like "security_questions_response"
> could be replaced with a dash (-).
>
> Regards,
> Dilan.
>
> *Dilan U. Ariyaratne*
> Senior Software Engineer
> WSO2 Inc. 
> Mobile: +94766405580 <%2B94766405580>
> lean . enterprise . middleware
>
>
> On Wed, Jun 8, 2016 at 1:02 PM, Isura Karunaratne  wrote:
>
>> Identity Management Recovery API improvements.
>>
>> In Identity Server 5.3.0, we are going to implement Identity Management
>> recovery APIs as rest resources. In current implementations of IS5.0.0,
>> IS5.1.0 we have soap APIs for recovery scenarios. [1].
>>
>> Captcha validation is coupled with recovery flows in existing soap API
>> implementation and we have improved Java API to decouple to the captcha
>> validation from recovery flows in new implementations. [4]
>> Existing soap APIs.Recover with Notification [2]
>>
>>-
>>
>>getCaptcha() -­ Generates a captcha.
>>-
>>
>>verifyUser() -­ Validates the captcha answer and username and returns
>>a new key.
>>-
>>
>>sendRecoveryNotification() -­ Send an email notification with a
>>confirmation code to the user. Need to provide the key from the previous
>>call.
>>-
>>
>>getCaptcha() ­- Generates a captcha when the user clicks on the URL.
>>-
>>
>>verifyConfirmationCode() -­ Validates the captcha answer and
>>confirmation code. This returns a key.
>>-
>>
>>updatePassword -­ Updates the password in the system. Need to provide
>>the key from the previous call, new password and returns the status of the
>>update, true or false.
>>
>> Recover with Secret Questions[3]
>>
>>-
>>
>>getCaptcha() ­- Generates a captcha.
>>-
>>
>>verifyUser() ­- Validates the captcha answer and username and returns
>>a new key.
>>-
>>
>>getUserChallengeQuestionIds() ­- Retrieve the claim URI IDs specified
>>for the user with the generated key. Need to provide the key from the
>>previous call.
>>-
>>
>>getUserChallengeQuestion() ­- Retrieve the user’s challenge question
>>for the specified claim URI ID from the previous call. Need to provide the
>>key from the previous call.
>>-
>>
>>verifyUserChallengeAnswer() ­- Validates the answer and confirmation
>>code for the specified question. Need to provide the key from the previous
>>call.
>>-
>>
>>updatePassword() ­- Updates the password in the system. Need to
>>provide the key from the previous call, the new password and return the
>>status of the update, i.e. true or false.
>>
>>
>>
>>
>>
>> New APIs
>> Recover with Notification
>>
>>-
>>
>>sendRecoveryNotification() : validate user and returns a new key
>>through a notification.
>>-
>>
>>updatePassword() : Updates the password in the system. Need to
>>provide the key from notification, new password
>>
>>
>> Recover with Secret Questions
>>
>>-
>>
>>intiateUserChallengeQuestion(); ­validate user and returns a question
>>to answer with a secret code
>>-
>>
>>verifyUserChallengeAnswer(); validate secret code and answer for the
>>question in previous step. Return a new question with new secret until
>>minimum number of questions are answered.
>>-
>>
>>updatePassword(); Updates the password in the system. Need to provide
>>the key from notification, new password
>>
>>
>>
>> New APIs for Multiple Questions at once
>>
>>-
>>
>>getAllChallegeQuestions(); validate user and returns all questions to
>>answer with a secret code
>>-
>>
>>validateAllChallengeAnswers(); validate code and all answers and
>>return a code if success
>>-
>>
>>updatePassword();Updates the password in the system. Need to provide
>>the key from notification, new password
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> [1] https://docs.wso2.com/display/IS510/Password+Recovery
>>
>> [2]
>

Re: [Architecture] Identity Management Recovery API improvements.

2016-06-08 Thread Isura Karunaratne
Hi,

On Thu, Jun 9, 2016 at 10:53 AM, Harsha Thirimanna  wrote:

> Hi Isura,
>
> Any detail about the error response with relevant error codes ?
>

We have developed error codes for relevant error scenarios, I will update
the docs with error code.


>
>
>
> *Harsha Thirimanna*
> Associate Tech Lead; WSO2, Inc.; http://wso2.com
> * *
> *email: **hars...@wso2.com* * cell: +94 71 5186770 *
> *twitter: **http://twitter.com/ *
> *harshathirimannlinked-in: **http:
> **//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
> *
>
> *Lean . Enterprise . Middleware*
>
>
> On Thu, Jun 9, 2016 at 10:46 AM, Dilan Udara Ariyaratne 
> wrote:
>
>> Hi Isura,
>>
>> According to the REST API Guidelines that we have defined across all the
>> products,
>> following suggestions can be made regarding the resource paths that you
>> have proposed.
>>
>> [1] Base-path "accountrecovery" has two words in it and they can be
>> separated by a dash, i.e. as "account-recovery".
>> [2] It seems that path "rest" does not make any sense as a resource, so
>> it can be removed.
>> [3] Also, all the underscore signs included in processiong-functions like
>> "reset_password" and resource-paths like "security_questions_response"
>> could be replaced with a dash (-).
>>
>
Thanks for the infomation. I will modify the apis based on your suggetions.

Thanks
Isura

>
>> Regards,
>> Dilan.
>>
>> *Dilan U. Ariyaratne*
>> Senior Software Engineer
>> WSO2 Inc. 
>> Mobile: +94766405580 <%2B94766405580>
>> lean . enterprise . middleware
>>
>>
>> On Wed, Jun 8, 2016 at 1:02 PM, Isura Karunaratne  wrote:
>>
>>> Identity Management Recovery API improvements.
>>>
>>> In Identity Server 5.3.0, we are going to implement Identity Management
>>> recovery APIs as rest resources. In current implementations of IS5.0.0,
>>> IS5.1.0 we have soap APIs for recovery scenarios. [1].
>>>
>>> Captcha validation is coupled with recovery flows in existing soap API
>>> implementation and we have improved Java API to decouple to the captcha
>>> validation from recovery flows in new implementations. [4]
>>> Existing soap APIs.Recover with Notification [2]
>>>
>>>-
>>>
>>>getCaptcha() -­ Generates a captcha.
>>>-
>>>
>>>verifyUser() -­ Validates the captcha answer and username and
>>>returns a new key.
>>>-
>>>
>>>sendRecoveryNotification() -­ Send an email notification with a
>>>confirmation code to the user. Need to provide the key from the previous
>>>call.
>>>-
>>>
>>>getCaptcha() ­- Generates a captcha when the user clicks on the URL.
>>>-
>>>
>>>verifyConfirmationCode() -­ Validates the captcha answer and
>>>confirmation code. This returns a key.
>>>-
>>>
>>>updatePassword -­ Updates the password in the system. Need to
>>>provide the key from the previous call, new password and returns the 
>>> status
>>>of the update, true or false.
>>>
>>> Recover with Secret Questions[3]
>>>
>>>-
>>>
>>>getCaptcha() ­- Generates a captcha.
>>>-
>>>
>>>verifyUser() ­- Validates the captcha answer and username and
>>>returns a new key.
>>>-
>>>
>>>getUserChallengeQuestionIds() ­- Retrieve the claim URI IDs
>>>specified for the user with the generated key. Need to provide the key 
>>> from
>>>the previous call.
>>>-
>>>
>>>getUserChallengeQuestion() ­- Retrieve the user’s challenge question
>>>for the specified claim URI ID from the previous call. Need to provide 
>>> the
>>>key from the previous call.
>>>-
>>>
>>>verifyUserChallengeAnswer() ­- Validates the answer and confirmation
>>>code for the specified question. Need to provide the key from the 
>>> previous
>>>call.
>>>-
>>>
>>>updatePassword() ­- Updates the password in the system. Need to
>>>provide the key from the previous call, the new password and return the
>>>status of the update, i.e. true or false.
>>>
>>>
>>>
>>>
>>>
>>> New APIs
>>> Recover with Notification
>>>
>>>-
>>>
>>>sendRecoveryNotification() : validate user and returns a new key
>>>through a notification.
>>>-
>>>
>>>updatePassword() : Updates the password in the system. Need to
>>>provide the key from notification, new password
>>>
>>>
>>> Recover with Secret Questions
>>>
>>>-
>>>
>>>intiateUserChallengeQuestion(); ­validate user and returns a
>>>question to answer with a secret code
>>>-
>>>
>>>verifyUserChallengeAnswer(); validate secret code and answer for the
>>>question in previous step. Return a new question with new secret until
>>>minimum number of questions are answered.
>>>-
>>>
>>>updatePassword(); Updates the password in the system. Need to
>>>provide the key from notification, new password
>>>
>>>
>>>
>>> New APIs for Multiple Questions at once
>>>
>>>-
>>>
>>>