IMHO, it will be useful to put a note/warning in the contributor's section
regarding copyright and licensing issues followed by a small
introduction(that you already gave) and then pointers to other related
resources.

regards
Taha



On Thu, Jul 7, 2011 at 11:59 AM, Kalle Korhonen
<[email protected]>wrote:

> On Wed, Jul 6, 2011 at 11:14 PM, Taha Hafeez <[email protected]>
> wrote:
> > Thanks for sharing this information. It would be great if you find time
> to
> > place this under the contributer's section at
> > http://tapestry.apache.org/community.html#Community-BecomingaContributor
> .
> > A new contributer like me can take advantage of this.
>
> "This information" referring to copyrights & licensing? Frankly, I
> don't think it belongs to the spot you pointed out. Perhaps something
> in http://www.apache.org/licenses/, but then again,
> http://www.apache.org/foundation/licence-FAQ.html (linked from the
> previous resource) does a decent job of answering the license
> questions. Do you think it'd be useful for linking these in from the
> community page? Maybe a separate "Read more about Apache" section?
>
> Kalle
>
>
> > On Thu, Jul 7, 2011 at 11:33 AM, Kalle Korhonen
> > <[email protected]>wrote:
> >
> >> On Wed, Jul 6, 2011 at 7:16 PM, [email protected]
> >> <[email protected]> wrote:
> >> > On Wed, Jul 6, 2011 at 8:59 PM, Kalle Korhonen
> >> > <[email protected]>wrote:
> >> > - copyrights - have you copied any code/styles from anywhere you
> >> >> haven't written yourself?
> >> > Actually I also wanted to discuss this. I had looked at many css
> dropdown
> >> > menus, before doing it and the one I implemented is "inspired" by this
> >> > menu <
> >> http://www.lwis.net/free-css-drop-down-menu/dropdown.simple.linear.html
> >
> >> > which
> >> > is dual licenced <http://www.lwis.net/free-css-drop-down-menu/>
> (bottom
> >> of
> >> > page) under MIT <http://opensource.org/licenses/mit-license.php> and
> >> > GPL<http://www.gnu.org/copyleft/gpl.html> (I
> >> > know its not compatible with apache). But the thing is that Its not
> the
> >> same
> >> > CSS its still quite changed and I was not sure if I have reused and
> >> changed
> >> > it, or just written something new "inspired" by it :). I avoided doing
> >> > copy-> paste, I typed the CSS as I saw it best.
> >> > Anyway, please provide advice about this, that I will gladly accept,
> >> because
> >> > I don't have much experience dealing with licences and I want to avoid
> >> > making mistakes regarding this.
> >>
> >> I purposefully mentioned copyrights since the issue is separate from
> >> licensing. You did exactly the right thing by not copying, but rather
> >> re-creating it. Regardless of the license (unless the license
> >> explicitly forfeits copyrights), a piece of work is automatically
> >> covered by copyright laws practically anywhere in the world.
> >> Copyrights protect the "the form" of the work, i.e. the exact sequence
> >> of characters if it's a literature works. If you copy and modify, the
> >> question is whether you created on original work or if it's derivative
> >> work (compare for example to cases where photos are used as a basis
> >> for a poster - one famous case was of a stylized portrait of Barack
> >> Obama). If you independently created word for word the same literature
> >> works, piece of code, etc. you would still own the copyrights to it
> >> but it might be difficult to prove that you really came up with
> >> exactly the same as somebody before you if the said entity challenged
> >> you on that. Copyright issue is often neglected on the web since it's
> >> so easy to copy pieces of Javascript, CSS, etc. from anywhere, but in
> >> principle, when you are copying something, you are making a copyright
> >> infringement (unless it's a "fair use" - for example when you are
> >> quoting somebody). More at http://en.wikipedia.org/wiki/Copyright.
> >>
> >> As to the license issue, you are fine. I really don't want to hide
> >> behind the typical "I'm not a lawyer, you should consult with.." I'm
> >> of the the opinion that any software developer should have basic
> >> understanding of the most common open source licenses used today, and
> >> that reasonable people should be able to talk about legal issues in
> >> software without official qualifications (after all, nobody has an
> >> issue talking about football or some other sport even though very few
> >> of us are professional practitioners). MIT license
> >> (http://en.wikipedia.org/wiki/MIT_License) is fully compatible with
> >> Apache license (derivative works could be licensed under Apache
> >> license). Apache Software Foundation doesn't allow their projects to
> >> use any (L)GPL'd (or other copy-left licensed) code although from
> >> GPL's point of view, Apache licensed code is compatible depending on
> >> version (more at http://www.gnu.org/licenses/license-list.html).
> >> Anyway, licensing was never an issue in the first place; you would
> >> have first needed to use some copyrighted works which you didn't do.
> >> *Everything* is based on some previous work and knowledge, and
> >> licenses cannot be used to prohibit copying ideas or ways to make
> >> something work. Patents however, have much broader implications since
> >> they protect the idea rather than the form, but it's nearly impossible
> >> to tell if any of the ideas used here are protected by some patents
> >> (in all likelihood actually yes, but that's not something you need to
> >> consider). Hope that clears it up.
> >>
> >> >  - what's the wait for in onContextMenuFromGrid1(...) of the dropdown
> >> >> example?
> >> > I have just copied it from the grid examples. When working locally the
> >> ajax
> >> > is fast so I cannot see the "loading ..." text, that is why I put
> >> > Thread.sleep. Its just for the demo site it wont be in the tests.
> >>
> >> Ah, yes of course. I just wondered what the purpose was since I
> >> happened to notice it.
> >>
> >> Kalle
> >>
> >>
> >> >> > 2. Grid Enhancements - Making pagination and Sorting
> >> >> > Bookmarkable (see demo page)
> >> >> >  - This is achieved by modifying the existing GridColumns and
> >> >> GridPager (see
> >> >> > line 141) components with just a few lines of code, combined with
> >> mixins
> >> >> for
> >> >> > the actual URL manipulation (bookmarking).
> >> >> > - The main issue why I had to modify GridPager and GridColumns is
> >> because
> >> >> > they don't keep (off course) the URL parameters (request
> parameters)
> >> for
> >> >> the
> >> >> > links for the sort columns (in GridColumns) and for the links in
> the
> >> page
> >> >> > numbers (in Grid Pager). The added LOC are just to keep those
> >> parameters
> >> >> for
> >> >> > their action and sort events. This approach obviously needs
> >> rethinking.
> >> >> One
> >> >> > solution I could think of is decorating the links but this happens
> in
> >> >> pages
> >> >> > not components, so I would have to add advice to all pages (tried
> that
> >> >> also
> >> >> > and it worked), but it seems like just too much overhead.
> >> >> > - Another idea is to just make a redirect on setupRender on the
> grid's
> >> >> > mixins to put the parameters in the url. This is the simplest
> solution
> >> >> and
> >> >> > it would also work if the grid is sorted in code (not by clicking
> the
> >> >> > columns), but a redirect is another request. IDK if this can lead
> to
> >> >> usage
> >> >> > problems. Advice please :)
> >> >> > - So. All Work is done in the 2 mixins ColumnsSort.java (for Grid
> >> >> > Columns) and CurrentPageURL.java (for GridPager) that catch the
> sort
> >> and
> >> >> > action events and add parameters and also read parameters from the
> >> >> Request
> >> >> > to adjust column sorting and pagination. I supose this is quite ok.
> >> But
> >> >> the
> >> >> > main issue remains.
> >> >> > "How to keep the request parameters for the links produced by
> >> GridPager
> >> >> and
> >> >> > GridColumns?"
> >> >>
> >> >> Unfortunately, I don't have good suggestions for this at the moment.
> >> >> If it was possible to advice the component, it sounds like that could
> >> >> have been a good enough solution but I agree advising all pages is
> too
> >> >> heavyweight as a solution. For redirects, while it's reasonable safe
> >> >> to assume that the datamodel is backed by some cache, we cannot be
> >> >> sure and so might have an adverse effect on performance. I'll spend a
> >> >> bit more time on it to see if there are other reasonable
> alternatives.
> >> >>
> >> >
> >> > Yes, I have tried few (working) solutions but with just too much
> overhead
> >> on
> >> > advices etc.
> >> > I'm still searching for the best way to do it, even considering small
> >> > changes in the GridColumns and GridPager code. When I have something
> new
> >> for
> >> > this problem I'll post it here.
> >> >
> >> >
> >> >>
> >> >> > 3. Expose the cell content in GridCell.java
> >> >> >  - Another issue I was advised to look into by my mentor (Kalle) is
> to
> >> >> > replace the advice that makes ContextMenu.java work for the
> tapestry
> >> >> grid.
> >> >> > Basically this is the idea: Modify GridCell.java to expose the grid
> >> cell
> >> >> > contents (row value and property value not just property value like
> in
> >> >> > PropertyOutputContext.java) in an environmental. This can be used
> in
> >> far
> >> >> > more scenarios, not just contextmenu for the grid (think of a mixin
> >> that
> >> >> > selects a grid row (or cell) and notifies the server via ajax, so
> you
> >> can
> >> >> do
> >> >> > master-detail pages etc).
> >> >> > Replacing the GridCell advice with a few lines of code is next on
> my
> >> work
> >> >> > log so we'll se how it goes.
> >> >>
> >> >> Yes, this makes sense to me and it's fairly cheap to do.
> >> >
> >> >
> >> >> Kalle
> >> >>
> >> >
> >> > Cheers,
> >> > Dragan Sahpaski
> >> >
> >> >
> >> >>
> >> >>
> >> >> > On Wed, Jun 15, 2011 at 1:27 PM, [email protected]
> >> >> > <[email protected]> wrote:
> >> >> >>
> >> >> >> Hi,
> >> >> >> I have updated the contextmenu with other client events like
> >> mousedown,
> >> >> >> mouseover etc. that you can look at on the new examples
> >> >> >> page http://dragansah.com/contextmenu/parametersexamples.
> >> >> >> You can browse the issues (mainly tasks and bugs)
> >> >> >> here
> >> >>
> >>
> http://code.google.com/a/apache-extras.org/p/right-click-menu-gsoc2011/issues/list
> >> >>  and
> >> >> >> if someone has some ideas or wishes, they can add them to the
> issues
> >> >> list.
> >> >> >> Next on my work-log is to provide a dropdown menu as a separate
> >> >> component
> >> >> >> that can be used with the existing contextmenu. It is not directly
> >> >> related
> >> >> >> to the contextmenu because you can put anything in the
> contextmenu,
> >> but
> >> >> >> maybe 90% of the use-cases of a contextmenu is to have a dropdown
> >> wiht
> >> >> icon
> >> >> >> and a label like they have on the rich faces demo site under
> >> >> >> RichMenu->ContextMenu.
> >> >> >> Any kind of comments or remarks are very much welcomed.
> >> >> >> Cheers,
> >> >> >> Dragan Sahpaski
> >> >> >>
> >> >> >>
> >> >> >> On Tue, May 31, 2011 at 7:16 PM, Kalle Korhonen
> >> >> >> <[email protected]> wrote:
> >> >> >>>
> >> >> >>> I'm officially Dragan's mentor but the rest of committers should
> >> >> >>> really take a look at Dragan's excellent work if you can just
> spare
> >> a
> >> >> >>> few cycles for it. The demo site (
> http://dragansah.com/contextmenu/
> >> )
> >> >> >>> Dragan put together makes it easy to track the project status
> even
> >> if
> >> >> >>> you don't have time to dive into the code. We already talked
> about
> >> the
> >> >> >>> items via Skype but a few quick comments below..
> >> >> >>>
> >> >> >>> On Sun, May 29, 2011 at 1:51 PM, [email protected]
> >> >> >>> <[email protected]> wrote:
> >> >> >>> >   1. Two mixins: ContextMenu and ContextMenuAjax or merge them
> in
> >> one
> >> >> >>> >   mixin?
> >> >> >>>
> >> >> >>> It doesn't cost any more to use separate mixins for the user so
> >> >> >>> probably makes sense to keep as is for now.
> >> >> >>>
> >> >> >>> >   2. Is the concept of advising GridCell (actualy
> >> >> >>>
> >> >> >>> AbstractPropertyOutput<
> >> >>
> >>
> http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry5/corelib/base/AbstractPropertyOutput.html#renderPropertyValue(org.apache.tapestry5.MarkupWriter
> >> >> ,
> >> >> >>> >   java.lang.String)>) ok? Its clear that we cannot implement
> >> support
> >> >> of
> >> >> >>> > the
> >> >> >>> >   t5 grid without an advice or I'm I wrong?
> >> >> >>>
> >> >> >>> That's the way and it didn't seem too bad at all, but if it'd be
> >> >> >>> possible to implement it better by making a small, generic and
> >> >> >>> backwards compatible enhancement to GridCell, I think that'd be
> >> >> >>> preferable in the long run, just because there's some performance
> >> >> >>> penalty whenever using an advice, and an AbstractPropertyOutput
> gets
> >> >> >>> used a lot.
> >> >> >>>
> >> >> >>> >   5. The contextmenu is rendered after the component and there
> is
> >> a
> >> >> bit
> >> >> >>> > of
> >> >> >>> >   The quirk is that the contextmenu forces the render of the
> >> >> conainer's
> >> >> >>> >   clientId (if it is a t5 ClientElement), and uses it to set a
> >> >> >>> > javascript
> >> >> >>> >   event oncontextmenu on it using the id. If the component is
> not
> >> a
> >> >> t5
> >> >> >>> >   ClientElement (t5 Label for example), than this javascript is
> >> >> applied
> >> >> >>> > for
> >> >> >>> >   getting the client element in js:
> >> >> $('contextMenuId').previousSibling.
> >> >> >>> > This
> >> >> >>> >   code assumes that the parent component is only one html
> element
> >> >> (div
> >> >> >>> > or
> >> >> >>> >   similar), but this is not the case for example the t5
> TextField
> >> >> which
> >> >> >>> >   renders a trailing icon. Luckily the TextField is covered
> >> because
> >> >> it
> >> >> >>> > is a
> >> >> >>>
> >> >> >>> Seems to me it's quite fine to require ClientElement in that
> case.
> >> >> >>>
> >> >> >>> Kalle
> >> >> >>>
> >> >> >>>
> >> ---------------------------------------------------------------------
> >> >> >>> To unsubscribe, e-mail: [email protected]
> >> >> >>> For additional commands, e-mail: [email protected]
> >> >> >>>
> >> >> >>
> >> >> >
> >> >> >
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [email protected]
> >> >> For additional commands, e-mail: [email protected]
> >> >>
> >> >>
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to