yasuflatland-lf / damascus

⚔️ CRUD boilerplate generator for Liferay DXP
https://yasuflatland-lf.github.io/damascus-doc/
GNU Lesser General Public License v3.0
51 stars 35 forks source link

Manage Relations between Entities #30

Closed tiurlumbangaol closed 5 years ago

tiurlumbangaol commented 7 years ago

1st of all this is a great CRUD plugin for Liferay. Thanks for developing and contributing this.

This feature would be a great benefit : manage relations between entities.

Let us know how we could contribute for Damascus...

yasuflatland-lf commented 7 years ago

Hi @tiurlumbangaol , thank you for the enhancement request. Can you share your idea how to manage relations between entities? Damascus is inspired by xmlportletfactory, which has relations between entities, so the fields for relations same as xmlportletfactory has already been ready.

tiurlumbangaol commented 7 years ago

hi @yasuflatland-lf

i was referring to issue no 16 : https://github.com/yasuflatland-lf/damascus/issues/16 the one that you disucss with @slemarchand

Model relations Having multiple models, you may usually have relations between each model with external keys at an actual project. Are you going to implement this part? If you do, how do you handle this? I'm not going implement this part within the scope of the current issue (#16). I have in mind the need to manage relations between entities, but from my point of view, we should manage it a little later, with a dedicated issue.

in that issue comment, i assume that it has not been implemented yet.

But on your reply, you said : it has already been ready.

So i'm a bit confused. So my question : is it ready or not...? and if it is ready, could you give example how we implement it on base.json?

I'm more to business analyst/project manager in Liferay implementation, so i'm sorry if there is misunderstanding from my side.

yasuflatland-lf commented 7 years ago

Hi @tiurlumbangaol Sorry for the confusion, you are right. The interfaces for relation has been ready, but the implementations have not developed yet.

Hi @slemarchand Do you have any idea for this? I'm considering to contribute Damascus generated portlets for blade-samples, where Liferay official samples showcase once I get Integration / Functional testing templates (which are also included in the blade samples already) implemented in the Damascus.

My intention is to present (ideally) a standard way of implementations in Damascus for this relations too.

When I used xmlportletfactory, I didn't actually use their way for relations between entities. I've seen many cases for relationships between entities while working for projects, so I wonder what could be the "standard way" for this.

tiurlumbangaol commented 6 years ago

@yasuflatland-lf

hi, i also don't like how xmlportletfactory implement relations. how about like this : for every relation, there will be 1 "action button", when click it will display the detail of the child table.

for example : we have restaurants table and menu table. 1 restaurant could have multiple menus. on the Restaurant grid, will have action button "View Menu", when clicked, it will display all the Menus that belongs to that restaurant.

tiurlumbangaol commented 5 years ago

For one to many relationship, i create a separate issue : https://github.com/yasuflatland-lf/damascus/issues/72

tiurlumbangaol commented 5 years ago

i don't think we could support many-many to relations. so i close this issue. For 1..N relationship please see issue : #72