Welcome to Keetup Blog.

This is the place for you to learn more about the latest news and to be updated with the company’s activities.

Diego Gallardo How to filter unwanted users with Spam Filter Login

The following text was translated by Google Translate Technology

In this post I will talk about how to block unwanted user registration (spammers) to a Social Networking Elgg.

We recently, some intrusions of spammers to one of our sites in Elgg. The first thing we did was upgrade to the latest version of Elgg, after seeing the problem persists, look if there was any solution in the community and we found the plugin "Log Spam Filter".

This plugin allows us to block registrations using external services or ip block emails as " stopforumspam "or" fassim ". You can also use an internal blacklist social network: domains or emails, which are checked when the user registers. You can configure some of these solutions individually or all at once.

We will install and explain some of these features.

You can download this plugin from the community of the following location: http://bit.ly/pUdIc2

This plugin requires:

  • plugin " plugin IP address tracker , "which captures the ip registered user.
  • be enabled CURL
  • CRON be enabled, for cleaning the cache of ip.

After downloading and decompressing both mod plugins folder, we must activate the 2 plugins.

1. Let the administration section of Elgg:

2. After the administration section of tools:

3. We will activate the plugins:

4. After enabling both plugins, plugin must set the login spam filter.

5. You can enable and Fassim Stopforumspam, the latter requires an API key, you get it from: http://www.fassim.com/get-api-key/ . As we can see have many locking options. Both ip and email support, but has other options Fassim lock code as countries or regions.

6. The last settings are blacklisted domains or emails specific emails. You can configure to send us an email if there is a blockage of a user when it is recorded.

The 5 validations can be enabled or disabled, the order of checks is as follows:

  • Check the user's IP against a blacklist of IP that is cached. (The cache is cleaned 1 time a week).
  • If false, it checks the user's email domain to the blacklist of domain emails.
  • If false, the email is checked against the blacklist of emails.
  • If false, is checked against the external service stopforumspam.com
  • If false, is checked against the external service fassim.com


As a last step, we can do to a spammer already registered user on the network. We go to the profile of the deletion and report you as spammer.

I hope you liked this post.

Elgg Happy Coding.

Diego Gallardo

read more

Gustavo Bellino Important points to build a social network

The following text was translated by Google Translate Technology


According to wikipedia "social networks are social structures composed of groups of people, which are connected by one or more types of relationships such as friendship, kinship, common interests or shared knowledge." If these people also connect to a computer system where they find a number of features that used in common, we are witnessing a digital social network. But now everyone calls the latter merely "social networks".

Today social networks are an everyday tool in the daily lives of people and, increasingly, set the trend of the masses. While there is a huge number of parameters and points to consider to build a social network (and having an established business model) can be noted that the first and perhaps most important to define are:

  • A theme, this will enable the sector to guide and set of users who use the social network;
  • Functional differences, it will mark the users why they should use social networking and what makes it different from other existing social networks, and;
  • A defined scope, this will allow the creator (both intellectual and material author) draw the lines necessary to carry out the project, such as phases, covering each and their release dates.

In my view, although there are other points to start, I think these are what we drive on the most appropriate and practical way to achieve the ultimate goal: build a social network:)

Once these points have been established (at least in general) is needed the most difficult task: "the transfer of information from ideas to paper" for social network just begins to be a longer project a mere "idea".

Tip: To turn the thoughts on paper and not die trying to make a brainstorming writing ideas on slips of paper so that they can manipulate, moving them to mark their priority and what is not, define the limits of the different phases.

I hope this has helped and if you have any questions and would like to know more about issue do not hesitate to contact us .

read more

Gustavo Bellino BellyBest has launched its Beta version

The following text was translated by Google Translate Technology

BellyBest is a social network that allows its users to search restaurants by area (geolocation), upload their favorite foods, vote othe foods, and primarily allow to interact with people with similar tastes. The social network has its iPhone version (as they advance in development) and it is maturing and gaining ground in its area. The features that are currently released in BellyBest are limited as it is in the beta version. However, we think that by the end of this year the social network will be mature enough to show the world all the features that the Keetup team has developed.

Once again we are proud to be part of a big project and we thank the entire Keetup team that made it possible (converting the social network and the API for iPhone application to life).

We wish the best for the people of BellyBest and thank you for choosing us to develop the engine of your social network.

read more

Diego Gallardo Talk about Elgg features in Barcamp Rosario

The following text was translated by Google Translate Technology

On 3 September, the first Barcamp Rosario was held at the Universidad Abierta Interamericana (UAI). There are already two such events taking place in the province of Santa Fe, along with the Barcam Litoral held in May this year.

In Keetup we really like to attend such events, so we were present.

Attended the event with high hopes of witnessing several talks, but the slower people call, there was a very significant amount. Of those who attended had a very good quality.

At first we were not going to make a presentation as we went with the intention of being just spectators. But after seeing that there were few conversations at the event, decided with Gustavo (@ gushbellino) scored to give one talk about Elgg, titled "Elgg, The Social Network".

The talk was quite descontracturar, with several questions and answers as we gave the presentation, and some examples of the benefits of Elgg. As the data model and the abstraction of the database for the programmer.

Here I give the presentation:

We also have footage of the same charge of @ PabloVerano.

I leave 2 of the 4 videos of the presentation:

To see all the videos: http://bit.ly/pYSgXC

Part 1:

Part 2:

I hope you liked this post.

Elgg Happy Coding

Diego Gallardo.

read more

Diego Gallardo Elgg Data Model

The following text was translated by Google Translate Technology

Elgg provides a data model that allows us to abstract away completely from the database.

Provides a unified data model called the Entity-Attribute-Value (EAV), which is based on atomic units of data called "Entities".

As you can see in the picture, everything is based on Elgg Entity (ElggEntity).

Users are entities, the groups also are entities, including the site itself, is an entity.

There are 4 types of entities that are specialization of the principal ElggEntity are:

  • ElggUser (Users): All users on the site are ElggUser an entity type.
  • ElggSite (Site): The site is an object with its properties.
  • ElggGroup (Groups): In an entity that contains / groups other entities. One group is made up of members which are users. May contain different entities, such as blogs, files, forums, which are created within the group.
  • ElggObject (objects) in any other social network content is generated by an object. Example objects are blogs, files, bookmarks.

Through these 4 entities can model any type of functionality in Elgg. These specific entities, have their class and related functions.

These entities can be extended to add information to them in 2 ways:

  • Metadata (Metadata): Metadata are properties that can be assigned to an entity. Adding additional information to it. For example, if a user can be date of birth or nationality.
  • Annotations (annotations): annotations are used for feedback on an entity. For example, when talking about a blog, comments and ratings to the blog, are annotations.

A clear example between annotations and metadata are:

  • Metadata are unique properties of an entity, in this case, only the creator of that entity has the ability to assign.
  • The annotations are the feedback provided to the entity, any user can perform. The notes also have defined roles for the sum, amount, or their average.

Entities can also relate to each other and relations are directional. To create a relationship requires a relation name and two entities.

An example of one-way relationship is when a user is a member of a group, establishing the relationship, 'member' between user and group.

An example is two-way relationship is friendship, which creates a relationship of friendship from the user 1 and user 2 and vice versa.

Any new functionality we will be modeled by these entities. The methods and functions which include persistence and access to data from the database. Means that it is more necessary queries manually, or having to create new tables when we need a new feature on the site.

I hope you liked this post.

Happy Coding Elgg


Diego Gallardo

read more


Pedro Prez

Pedro Prez

CTO | Co-Founder

Gustavo Bellino

Gustavo Bellino

CEO | Co-Founder




Follow us in twitter


We Sponsor

Barcamp Litoral Elggcampba Santa Fe Valley

Keetup Development