Question about the Groups component, and more.

Michieal ~ Coder ~ Posted in Component Development 2 years ago

The first question, and probably the easiest, is what is this object: {"post":"null:data"} and, is it removable? (It's in the ossn-objects table in the database.)

Second question - I am working on a component and I want to integrate the component into the groups component (OssnGroups)... But I don't want to go modifying the actual class OssnGroups. I learned a while ago that modifying core components causes nightmares and migraines. So, I looked to see if the component registers the class, and it doesn't appear to do so, so I cannot unregister it and then re-register it. I want to add in additional privacy values for the groups, and to make changes to the code for the functions of add, join, list, etc. Also, I was wondering in conjunction with the code changes, if I can add custom data properties to a group, like how one does with an user. I.e., can I get the group and set the ->data->MyCustomData = [whatever] and then do a group->save();?

Also, A quick theme question - the Social / White theme, the topbar is sticky. But in the GoBlue them it's not. What do I need to do to add the sticky part to the GoBlue theme? I ask because I base my own custom themes off of GoBlue, and I want that functionality in my themes.

Thank you!
-M.

Replies
us Michieal ~ Coder ~ Replied 2 years ago

Well, looks like I have my work cut out for me.

Indonesian Arsalan Shah Replied 2 years ago

Yes you need to alter forms , action files, component init files, views. You can do this via your new component but it will take you a long time.

us Michieal ~ Coder ~ Replied 2 years ago

Oh, sweet! Thank you!!!
And yeah, that makes sense for the post data. Very smart, that. Though... I wonder what happens when you hit to end of BIG INT?

Also, how do I overwrite parts of the class? like, I set in my component that the user's status =1 and the group's status =2, and then for the join / change owner, etc. disallow users who's status is not 2 to join groups that are status 2?

If ($user->status != $group->status)
     return;

Do I change the class? or do I try to overwrite the plugin -> default -> forms to check the status?

The long chat bar on the side of the window -- it's the only thing that I cannot get to stay put. The java code moves it up and down when one scrolls the main page. And, if I change the css for the .ossn-chat-windows-long to adjust the top (position: relative; top: 48px;) it screws everything up. And then the java moves the the window around. Should I do "padding-top" instead?

Thank you so much for the quick reply!

Indonesian Arsalan Shah Replied 2 years ago

Hello Michael,

The first question, and probably the easiest, is what is this object: {"post":"null:data"} and, is it removable? (It's in the ossn-objects table in the database.)

The null:data is for the posts that uses wallpost to display external item like blog, mp3, event. As these are not a normal wall posts but acts as the wall posts. For example when we upload photo to profile it also added to newsfeed.

The null:data means post JSON have no data. Its other story that I used JSON for wall posts object because wall post object have many attributes and I didn't wanted to waste a rows in entities table. So to avoid wasting of BIG INT values for table ids I used JSON for posts.

To add addtional attribute to object

$object = ossn_get_object(id);
$object->data->new_attr = 123;
$object->save();

To add a sticky topbar to goblue you need to look position fixed css attribute. Besides that you will need to add padding to various other classes to overcome the effect of fixed topbar (floating)