Hi,

I have got around the problem by storing the content as a separate registry
resource. The only drawback in this case is that we'll have to write a
separate indexer for searching by content. The forum topic and other
metadata still reside within the artifact and therefore indexing/searching
is not a problem. So basically the problem is solved.

The problem I wanted to highlight.
-------------------------------------------------
As per my understanding the 'text' field and 'text-area' field in artifacts
have no differences. They both can store only a limited number of
characters. Am I right? If so, for someone using the registry to store
artifacts it looks misleading and makes them think that limiting a
text-area content length is wrong. I understand that this behavior is by
design and it is overly complicated to change this :).

Why we used the registry?
--------------------------------------
The registry already has in built capabilities for searching/indexing,
sorting, pagination, categorization through tags, artifact permissions,
etc. We also had the need of a permission model (coupled with APIs) for the
forum. And on top of that we needed to get this forum implemented pretty
fast (~2 weeks). When the registry already has all these capabilities, why
would we reinvent everything on top of something else? Besides, having it
in the registry makes it integrate with the API Store nicely since API
artifacts are anyway in the registry as well. So linking up API permission
rules with forum topics can be done seamlessly.

Having said that, this forum is not tightly coupled with the Registry. It
is exposed to the FE (UI) through a clearly defined API (interface). The
first cut implementation is a registry based implementation. But anyone
could implement this interface for anything else.

Thanks,
NuwanD.

On Sun, May 11, 2014 at 9:26 AM, Ruchira Wageesha <ruch...@wso2.com> wrote:

> Hi Senaka,
>
> Yes, UES team is supposed to do this and have already completed most of
> the base of it using cassandra. But, depending a AM's commitment, they
> wanted to implement something quickly, AFAIK, probably within 2 weeks.
>
> You can find the thread on that at @architecture "[Architecture]
> Developer Forum for the API Store" [1]
>
> [1] https://mail-archive.com/architecture%40wso2.org/msg03817.html
>
>
> On Sat, May 10, 2014 at 10:10 PM, Senaka Fernando <sen...@wso2.com> wrote:
>
>> Hi all,
>>
>> I think we are heading in the wrong direction here. IIRC, we discussed to
>> implement a social component. The UES guys are or will be working on this.
>> The idea was to keep this outside of the registry. Can you'll chat with
>> Ruchira as well and try to understand how all of this fits together. The AM
>> and the ES and the rest of the social aspects have to line up or these will
>> increasingly become incompatible.
>>
>> And, WRT Uvindra's case. That solution was a highly subjective one
>> Uvindra. As Ajith says, we cannot make it a generic solution and be done
>> with that. This has to be solved properly. But, for the scenario of a forum
>> I don't think any of that was discussed here is going to work as I have
>> explained above.
>>
>> Thanks,
>> Senaka.
>>
>>
>> On Sat, May 10, 2014 at 3:37 PM, Ajith Vitharana <aji...@wso2.com> wrote:
>>
>>> Hi Nuwan,
>>>
>>>
>>> On Sat, May 10, 2014 at 6:54 AM, Nuwan Dias <nuw...@wso2.com> wrote:
>>>
>>>>  On Fri, May 9, 2014 at 9:25 PM, Ajith Vitharana <aji...@wso2.com>wrote:
>>>>
>>>>> Hi Uvindra,
>>>>>
>>>>>
>>>>> On Fri, May 9, 2014 at 5:47 PM, Uvindra Dias Jayasinha <
>>>>> uvin...@wso2.com> wrote:
>>>>>
>>>>>> This limitation was highlighted during the discussion we had with
>>>>>> Ajith just before work on the API Store forum was started. As I mentioned
>>>>>> we ran into the same limitation when developing the development 
>>>>>> governance
>>>>>> solution. The text area that was to store custom javascript rules could 
>>>>>> not
>>>>>> accommodate anything exceeding 1000 characters. In the end after 
>>>>>> discussing
>>>>>> with Senaka we solved the problem by increasing the column size of
>>>>>> REG_VALUE to 5000 and changing the DB scripts that were shipped with the
>>>>>> solution accordingly.
>>>>>>
>>>>>
>>>>> So, what happen when the length is 5001 ? :)
>>>>>
>>>>
>>>> Yes, I think we should someday fix this rxt field to property mapping.
>>>> Otherwise there's no point in having a field called 'text-area' in the rxt
>>>> right? Its capabilities become limited to same as the 'text' field.
>>>> Besides, from a user POV, there's no point in creating a property in the
>>>> rxt for each field. And when you comes across the need to store more than
>>>> 1000 characters in an artifact, you're totally blocked from doing so and
>>>> have to resort to other complicated measures.
>>>>
>>>> So I suggest that we make it a point to fix this urgently when
>>>> appropriate. Kernel 4.3.0 or C5 at least. Sooner the better :)
>>>>
>>>
>>> As I mentioned early, property is the storage model we used for RXT.
>>> Storing the whole content as XML  (BLOB) and  parsing XML each time is NOT
>>> a solution at all.
>>> Registry schema is a generic one to platform and it can't be change the
>>> with the requirement of all new features. So, what we can do is use the
>>> existing feature combinations to support the new requirement.
>>>
>>> If you want to store the large content/doc with artifact, then store
>>> that content as separate resource and build the dependency/association with
>>> the artifacts.
>>>
>>

>>> WDYT ?
>>>
>>> Thanks.
>>> Ajith.
>>>
>>>
>>>
>>>>
>>>>> Thanks.
>>>>> Ajith.
>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, May 9, 2014 at 5:29 PM, Nuwan Dias <nuw...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi Ajith,
>>>>>>>
>>>>>>> We're developing a forum for the API Store using the registry as the
>>>>>>> storage medium. Each topic/reply is stored in the registry as an 
>>>>>>> artifact.
>>>>>>> Topics/Replies have a rich text editor which supports code blocks, etc.
>>>>>>> This text-area has been mapped to a text-area field in the rxt. So 
>>>>>>> limiting
>>>>>>> the characters to < 1000 is not very feasible in this scenario.
>>>>>>>
>>>>>>> Are you saying that increasing the column size of REG_VALUE is not a
>>>>>>> good idea?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> NuwanD.
>>>>>>>
>>>>>>>
>>>>>>> On Fri, May 9, 2014 at 5:22 PM, Ajith Vitharana <aji...@wso2.com>wrote:
>>>>>>>
>>>>>>>> Hi Nuwan,
>>>>>>>>
>>>>>>>> We store the each filed as properties of the artifacts, that is the
>>>>>>>> data model used. Anyway, having the 1000 characters for the given 
>>>>>>>> field is
>>>>>>>> a special case.
>>>>>>>> So, it is not better to increase the default schema to handle this
>>>>>>>> use case.
>>>>>>>>
>>>>>>>> Can't we limit the characters length for that  text-area ?
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>> Ajith.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, May 9, 2014 at 3:18 PM, Nuwan Dias <nuw...@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I have an rxt on which I am using a text-area field. However I get
>>>>>>>>> the following error if I am to put more that 1000 characters in the 
>>>>>>>>> field.
>>>>>>>>>
>>>>>>>>> org.h2.jdbc.JdbcSQLException: Value too long for column "REG_VALUE
>>>>>>>>> VARCHAR(1000)": "STRINGDECODE('<table><tbody><tr><td
>>>>>>>>> class=\""votecell\""><div class=\""vote\"">\n    <span
>>>>>>>>> class=\""vote-count-post \"">2</span>\n    ... (1107)"; SQL statement:
>>>>>>>>> INSERT INTO REG_PROPERTY (REG_NAME, REG_VALUE, REG_TENANT_ID)
>>>>>>>>> VALUES (?, ?, ?) [90005-140]
>>>>>>>>>
>>>>>>>>> The reason for the above problem is due to the fact that each
>>>>>>>>> field in the rxt is also saved as a rxt property. The column length 
>>>>>>>>> in the
>>>>>>>>> database for the property value is 1000 characters. Therefore 
>>>>>>>>> basically its
>>>>>>>>> not possible to have a field in the rxt which is more than 1000 
>>>>>>>>> characters
>>>>>>>>> long.
>>>>>>>>>
>>>>>>>>> I see this as a serious limitation. The only possible workaround I
>>>>>>>>> see is to increase the column size. Any other solutions to this? Why 
>>>>>>>>> do we
>>>>>>>>> need to have a property corresponding to each field in the rxt? If we 
>>>>>>>>> can
>>>>>>>>> get rid of that, then we're good IMO.
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> NuwanD.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Nuwan Dias
>>>>>>>>>
>>>>>>>>> Associate Tech Lead - WSO2, Inc. http://wso2.com
>>>>>>>>> email : nuw...@wso2.com
>>>>>>>>> Phone : +94 777 775 729
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ajith Vitharana.
>>>>>>>> WSO2 Inc. - http://wso2.org
>>>>>>>> Email  :  aji...@wso2.com
>>>>>>>> Mobile : +94772217350
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Nuwan Dias
>>>>>>>
>>>>>>> Associate Tech Lead - WSO2, Inc. http://wso2.com
>>>>>>> email : nuw...@wso2.com
>>>>>>> Phone : +94 777 775 729
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dev mailing list
>>>>>>> Dev@wso2.org
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Regards,
>>>>>> Uvindra
>>>>>>
>>>>>> Mobile: 777733962
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ajith Vitharana.
>>>>> WSO2 Inc. - http://wso2.org
>>>>> Email  :  aji...@wso2.com
>>>>> Mobile : +94772217350
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Nuwan Dias
>>>>
>>>> Associate Tech Lead - WSO2, Inc. http://wso2.com
>>>> email : nuw...@wso2.com
>>>> Phone : +94 777 775 729
>>>>
>>>
>>>
>>>
>>> --
>>> Ajith Vitharana.
>>> WSO2 Inc. - http://wso2.org
>>> Email  :  aji...@wso2.com
>>> Mobile : +94772217350
>>>
>>>
>>
>>
>> --
>>
>>
>> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando*
>> Software Architect; WSO2 Inc.; http://wso2.com
>>
>>
>>
>> * Member; Apache Software Foundation; http://apache.org
>> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1
>> 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*;
>>
>>
>> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In:
>> http://linkedin.com/in/senakafernando
>> <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
>>
>
>
>
> --
>
> *Ruchira Wageesha**Associate Technical Lead*
> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com <http://wso2.com>*
>
> *email: ruch...@wso2.com <ruch...@wso2.com>,   blog:
> ruchirawageesha.blogspot.com <http://ruchirawageesha.blogspot.com>,
> mobile: +94 77 5493444 <%2B94%2077%205493444>*
>



-- 
Nuwan Dias

Associate Tech Lead - WSO2, Inc. http://wso2.com
email : nuw...@wso2.com
Phone : +94 777 775 729
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to