Skip navigation

Basically when you are developing for Social Engine, the best approach you’d take is to try as much as possible not to modify the pre-existing modules. That is because whenever a new SocialEngine update has been released, you’ll find hard time porting your changes to the new update. Not to mention the risk of messing up a pre-existing SE code.

Luckily Social Engine follows a Modular design pattern. That is,  according to Wikipedia:

Modular programming is a software design technique that increases the extent to which software is composed of separate, interchangeable components, called modules by breaking down program functions into modules, each of which accomplishes one function and contains everything necessary to accomplish this

Modules in SocialEngine are found in “/application/modules/”.  You’ll find a nice bunch of pre-existing modules that constitute SocialEngine functionality.

So how do you create a module? There is a nice process that takes takes care of creating the basic module structure and makes it already part of the application. The process consists of 3 parts:

  1. Creating the module
  2. Installing the module
  3. Building the module
—–

This is not an official guide on how to create a module for SE, these steps I just discovered them while playing around with SE and this is what I actually do to create a module. I hope they become helpful to you :)

 ——

Creating the module:

  1. First off, head to your website, and login with a user who has admin privileges.
  2. We need the Package Manager, so go to this link after you login: http://<SOCIAL_ENGINE_ADDR>/install/manage, replacing of course <SOCIAL_ENGINE_ADDR> with the correct one. Inside the package manager you’ll find different installed modules, and you can enable/ disable them as you wish.
  3. Switch to Developer SDK Tab and click on Create a Package
  4. As you see Social Engine can setup for you any type of package you might need. In our case we’d select package of type Module. Complete the rest of required fields and hit “Create Package” button.
Createpackage

Create Package form

By now you’ll have a compressed archive downloaded. If you look into it you’ll find the basic module file structure has been created for you. So next step is to actually make that module part of Social Engine so that you could start working on it and preview the changes immediately.

 ——

Installing the module:

Head again to http://<SOCIAL_ENGINE_ADDR>/install/manage, and click on Install New Packages link. The process of installing a new package consists of several automated steps. You just need to specify the package to install (which is the one downloaded from the previous steps), and the Step called “Enter FTP Info“. If Social Engine is running on your local server (the actual computer that you’re developing on), then you could just choose “None” for the FTP Connection Type, put in the Path to SE (it should be already there though) and mark “Search for SocialEngine Path“. Otherwise you’ll have to fill up the FTP connection fields.

FTP Info

FTP Fields

Then keep hitting continue until you’re done. You should get message like this in the end:

Successfully installed package

So now you’ve got you’re package created, installed and enabled in your SocialEngine application. You’ll find your module has appeared in SE’s modules folder and you can now modify it as you wish. If you’re still getting started with SocialEngine, these guides might be useful as well:

 ——

Building the module:

When you have finished developing your module and you’re ready to send it for example to a client, or sell it somewhere, you can have SocialEngine build an installable package for your module.

  1. “Go to the “Developer SDK Tab” in the Package Manager.
  2. Click on Build Packages
  3. Find your module an make a tick in the associated checkbox
  4. Click on “Build Packages” button.
  5. You can now click on your package to download it. This page is also accessible from “Manage Package Files” link in Developer SDK Tab under Package Manager
Manage Packages
About these ads

11 Comments

  1. Hello, excuseme, how can i make an item?
    to call it as
    Engine_Api::_()->getItem(‘user’);

    Regards Diaz

    • Jeje i found a solution, you have to edit the settings/content,php and add
      ‘item’ => array(
      ‘item1′,
      ‘item2′,
      )
      and it will be connected to the model class for that item.

      • settings/manifest.php, sorry

  2. Hello! I bought a module for socialengine4, but I need to make a widget
    that contains the module in a tab in the profile area. How I can do
    this?

    • I made the widgets creation example successfully, but now I need to contain
      the module into it

  3. Hello,
    I just want to know how can set form fields like :
    Height textbox-select-textbox-select

    Height is a lable, textbox is first text box then adjacently select element then again text box and then again select element in a single line.

    Any help will be realy appreciated.
    Thank You
    Kind Regards
    Ricky

  4. Hi I purchased a profile editor but never got my key , I contacted them and they will not give support so I found a profile editor on s4 forum. This profile eiditor looks great but when i tested it, it only changed the back ground in the css.

    If i give you the profile editor could you look at it and tell me what I can fix so it can be used on my site?

  5. So essentially you could move XXX where XXX is located here: www/application/modules/XXX to another installation of social engine and you would get the module?I know you also have to move the packages.json file and the language file but essentially this would bypass the web GUI installation process successfully? Do you have to register it somewhere?

    Thanks!

  6. Hi Tgalal

    How can I open up a link on the same page in SocialEngine? – say in the blogs menu, I click on ‘create blog’ – it diverts to another page. I need it to open up on the parent page and in a particular location, like in the layout_middle of that page?

    thanks

  7. Hi Tgalal,

    I’m trying to find our the best way to structure the content of Social Engine using admin defined tags. What I’m trying to achieve is navigation by location and activity to allow for the creation of combinations of the two such as Paris city tours. So far it looks like Social Engine AddOn’s Directory/Pages plugin is most suitable. Are there any other plugins which will do this task? What I’m after is a tag based structure that allows any piece of user generated content to be be associated with particular sections of the site.

    Olly

  8. Hi, I am looking to build my own module and add social capabilities (like comments/photos etc). I understand about how to build a new module from here, thats great help. I have my module up and running, but I am confused about how I could add commenting system to each page of my module. Pls help


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 49 other followers

%d bloggers like this: