FLOSS Project Planets

Ian Wienand: Stuck keyboard with Fedora 17 under VirtualBox

Planet Debian - 4 hours 30 min ago

For a while now, I've been plagued with this ridiculous problem of the keyboard becoming "stuck" in my Fedora 17 VM running under VirtualBox. Keys would stop working until you held them down for several seconds, making typing close to impossible.

Of course, my first thought was to blame VirtualBox, since it has a lot to do with the keyboard. I found out some interesting things, like you can send scan-codes directly to virtual-machines with something like

$ VBoxManage controlvm UUID keyboardputscancode aa

(get the UUID via VBoxManage list vms; figuring out scan-codes is left to the reader!).

I noticed the problem primarily happening while emacs was in the foreground, meaning I was working on code or an email ... my theory was when I typed too fast some race got hit and put the keyboard into a weird state that a reboot fixed.

Well it turns out the problem is almost the exact opposite. Luckily, today I noticed "slow keys enabled" warning that sprung-up and went away quickly just before the keyboard stopped. Once I saw that the game was up; turns out this is a well-known bug that is easily fixed with xkbset -sl. It happens because I was typing too slowly; holding down the shift-key while I thought about something probably.

Hopefully this saves someone else a few hours!

Categories: FLOSS Project Planets

Mediacurrent: Drupalcon Portland Video Recap - Day 2

Planet Drupal - Wed, 2013-05-22 20:39

Here's a quick video recap from Drupalcon Portland - Wednesday May 22nd. If you missed yesterday's recap, you can watch it here. 

Categories: FLOSS Project Planets

Code Karate: Drupal Commerce - Product Display layouts

Planet Drupal - Wed, 2013-05-22 20:33
Episode Number:  141 Post Topics:  Django Contrib Drupal Commerce Drupal 7 Site Building Drupal Planet

In this episode we continue learning about Drupal Commerce and dive into some of the layout aspects of building out Drupal Commerce product displays.

In this episode you will learn:

  • How to modify the layout of a Drupal Commerce product display
  • How fields are used to control the Drupal Commerce product display layout
DDoD Video: 
Categories: FLOSS Project Planets

Justin Mason: Links for 2013-05-22

Planet Apache - Wed, 2013-05-22 19:58
Categories: FLOSS Project Planets

Bits from Debian: Debian GNU/Hurd 2013 released!

Planet Debian - Wed, 2013-05-22 16:50

It is with huge pleasure that the Debian GNU/Hurd team announces the release of Debian GNU/Hurd 2013. This is a snapshot of Debian "sid" at the time of the Debian "wheezy" release (May 2013), so it is mostly based on the same sources. It is not an official Debian release, but it is an official Debian GNU/Hurd port release.

The installation ISO images can be downloaded from Debian Ports in the usual three Debian flavors: NETINST, CD, DVD. Besides the friendly Debian installer, a pre-installed disk image is also available, making it even easier to try Debian GNU/Hurd.

Debian GNU/Hurd is currently available for the i386 architecture with more than 10.000 software packages available (more than 75% of the Debian archive, and more to come!).

Please make sure to read the configuration information, the FAQ, and the translator primer to get a grasp of the great features of GNU/Hurd.

Due to the very small number of developers, our progress of the project has not been as fast as other successful operating systems, but we believe to have reached a very decent state, even with our limited resources.

We would like to thank all the people who have worked on GNU/Hurd over the past decades. There were not many people at any given time (and still not many people today, please join!), but in the end a lot of people have contributed one way or another. Thanks everybody!

This article appeared originally at GNU Hurd news and it's under the GNU Free Documentation License, Version 1.2 or any later version.

Categories: FLOSS Project Planets

Isabel Drost: JAX: Logging best practices

Planet Apache - Wed, 2013-05-22 16:37

The ideal outcome of Peter Roßbach’s talk on logging best practices was to have
attendees leave the room thinking “we know all this already and are applying
it successfully” - most likely though the majority left thinking about how to
implement even the most basic advise discussed.


From his consultancy and fire fighter background he has a good overview of what
logging in the average corporate environment looks like: No logging plan, no
rules, dozens of logging frameworks in active use, output in many different
languages, no structured log events but a myriad of different quoting,
formatting and bracketing standards instead.


So what should the ideal log line contain? First of all it should really be a
log line instead of a multi line something that cannot be reconstructed when
interleaved with other messages. The line should not only contain the class
name that logged the information (actually that is the least important piece of
information), it should contain the thread id, server name, a (standardised and
always consistently formatted) timestamp in a decent resolution (hint: one new
timestamp per second is not helpful when facing several hundred requests per
second). Make sure to have timing aligned across machines if timestamps are
needed for correlating logs. Ideally there should be context in the form of
request id, flow id, session id.


When thinking about logs, do not think too much about human readability - think
more in terms of machine readability and parsability. Treat your logging system
as the db in your data center that has to deal with most traffic. It is what
holds user interactions and system metrics that can be used as business
metrics, for debugging performance problems, for digging up functional issues.
Most likely you will want to turn free text that provides lots of flexibility
for screwing up into a more structured format like json, or even some binary
format that is storage efficient (think protocol buffers, thrift, avro).


In terms of log levels, make sure to log development traces on trace, provide
detailed problem analysis stuff on debug, put normal behaviour onto info. In
case of degraded functionality, log to warn. In case of things you cannot
easily recovered from put them on error. When it comes to logging hierarchies -
do not only think in class hierarchies but also in terms of use cases: Just
because your http connector is used in two modules doesn’t mean that there
should be no way to turn logging on just for one of the modules alone.


When designing your logging make sure to talk to all stakeholders to get clear
requirements. Make sure you can find out how the system is being used in the
wild, be able to quantify the number of exceptions; max, min and average
duration of a request and similar metrics.


Tools you could look at for help include but are not limited to splunk, jmx,
jconsole, syslog, logstash, statd, redis for log collection and queuing.


As a parting exercise: Look at all of your own logfiles and count the different
formats used for storing time.

Categories: FLOSS Project Planets

Isabel Drost: JAX: Java performance myths

Planet Apache - Wed, 2013-05-22 16:37

This talk was one of the famous talks on Java performance myths by Arno Haase.
His main point - supported with dozens of illustrative examples was for
software developers to stop trusting in word of mouth, cargo cult like myths
that are abundant among engineers. Again the goal should be to write readable
code above all - for one the Java compiler and JIT are great at optimising. In
addition many of the myths being spread in the Java community that are claimed
to lead to better performance are simply not true.


It was interesting to learn how many different aspects of both software and
hardware contribute to code performance. Micro benchmarks are considered
dangerous for a reason - creating a well controlled environment that matches
what the code will encounter in production is influenced by things like just in
time compilation, cpu throttling, etc.


Some myths that Arno proved wrong include final making code faster (in case of
method parameters it doesn’t make a difference up to bytecode being identical
with and without), inheritance being always expensive (even with an abstract
class between the interface and the implementation Java 6 and 7 can still
inline the method in question). Another one was on often wrongly scoped Java
vs. C comparisons. One myth resolved around the creation of temporary objects -
since Java 6 and 7 in simple cases even these can be optimised away.


When it comes to (un-)boxing and reflection there is a performance penalty. For
the latter mostly for method lookup, not so much for calling the method. What we
are talking about however are penalties in the range of about 1000 compute
cycles. Compared to doing any remote calls this is still dwarfed. Reflection on
fields is even cheaper.


One of the more wide spread myths resolved around string concatenation being
expensive - doing a “A” + “B” in code will be turned into “AB” in
bytecode. Even doing the same with a variable will be turned into the use of
StringBuilder ever since -XX:OptimizeStringConcat was turned on by default.


The main message here is to stop trusting your intuition when reasoning about a
system’s performance and performance bottlenecks. Instead the goal should be to
go and measure what is really going on. Those are simple examples where your
average Java intuition goes wrong. Make sure to stay on top with what the JVM
turns your code into and how that is than executed on the hardware you have
rolled out if you really want to get the last bit of speed out of your
application.

Categories: FLOSS Project Planets

Acquia: Open Source and Local Economies - Meet Ranko Marinic

Planet Drupal - Wed, 2013-05-22 15:31

Here is one more conversation I had at Drupal Camp Alpe-Adria in April, 2013. Ranko Marinic is from Croatia and has some great perspectives. He works as an IT consultant with a wide range of technologies and with Drupal "by night". He is studying economics and has become interested in the economic effects on local communities of implementing open source software. Ranko also talks about the moment he really started believing in open source as a social movement.

ranko_final.mp3
Categories: FLOSS Project Planets

Zero to Drupal: St. Louis Drupal Users Post-Drupalcon Meetup

Planet Drupal - Wed, 2013-05-22 13:59

Just a quick note that the St. Louis Drupal Users group chose to reschedule our normal meetup, which occurs every third Thursday of the month, to next week, the week after Drupalcon Portland. Last year, we had a meetup right after Drupalcon Denver and had a great turn out. Those who weren't able to attend learned what it's like to attend Drupalcon, and also got valuable insight into the sessions, keynotes, and other events surrounding this great event. This year, we have at least a few known members who are here at Drupalcon (along with myself for the first time), who will be sharing their experience with the group at next week's meetup.

So if you live in or around the St. Louis area, or know someone who does, please be sure to join us this Thursday, from 7p-9p at the Missouri History Musuem (more details about the meetup can be found here).

Tags
Categories: FLOSS Project Planets

Lisandro Damián Nicanor Pérez Meyer: Debian/Ubuntu packages caching and mobile workstations

Planet Debian - Wed, 2013-05-22 13:31
Not so long ago I read Dmitrijs' blog post on how to configure apt-cacher-ng to advertise it's service using avahi. As I normally use my laptop in my home and at work, and both networks have apt-cacher-ng running, I decided to give it a try.

I have been administering apt-cacher-ng for three networks so far, and I really find it a useful tool. Then, thanks to the aforementioned blog post, I discovered squid-deb-proxy. I don't use squid, so it's not for my normal use case, but some people will surely find it interesting.

But I found it's client package to be really interesting. It will discover any service providing _apt_proxy._tcp through avahi and let apt use it. But then the package wasn't available in Debian. So, I contacted Michael Vogt to see if he was interested in putting at least the client in Debian's archive. He took the opportunity to upload the full squid-deb-proxy, so thanks a lot Michael :-)

I then filled a wishlist bug against apt-cacher-ng to provide the avahi configuration for publishing the service, which Eduard included in the last version of it. So thanks a lot Eduard too!

tl;dr
You know only need apt-cacher-ng >= 0.7.13-1 and avahi-daemon installed on your server and your mobile users just need squid-deb-proxy-client. Then the proxy autoconfiguration for apt will just work.

One again, thanks a lot to the respective maintainers for allowing this into Jessie :-)

Gotchas
Yes, there are still some rough edges. On one of the networks I'm behind a proxy. While configuring my machine to use apt-cacher-ng's service as a proxy trough apt.conf, apt-listbugs would just work. But now, using the service as discovered by squid-deb-proxy-client, apt-listbugs just times out. Maybe I need to fill some other bug yet...
Categories: FLOSS Project Planets

Freelock : Planning successful projects: The User Story

Planet Drupal - Wed, 2013-05-22 13:08

Hey, that's not what I was thinking!

That's a very common complaint customers have with developers, when they receive the result of weeks or months of hard work. And it indicates a failure of planning.

We've found nothing that works better to avoid this result than to write up and discuss user stories in detail.

What's a user story? It's a description of the process a person goes through to get a specific result, and what happens along the way.

Tags: Drupal PlanetProcessUser StoriesUMLQualityIndustry: BusinessE-CommerceEducationHealth CareSoftwareStory Type: Sustainable/Open Business
Categories: FLOSS Project Planets

FSF Blogs: GNU/Linux chosen as operating system of the International Space Station

GNU Planet! - Wed, 2013-05-22 13:03
This is a wise choice for the space station, and a high-profile victory for software freedom. It brings good publicity for free software, demonstrating its respected position in the world of science and technology.

While "use it on a space station" wasn't listed as one of RMS's "Measures Governments Can Use to Promote Free Software", the announcement that the International Space Station is switching its laptops from Windows XP to GNU/Linux is exciting news. It's especially important for governments to use free software, because everything they do is paid for by the citizens of their countries. To ask citizens to pay for software that they cannot use, study and modify is especially unjust.

Along with increased reliability, NASA said they chose GNU/Linux because they could modify it to fit their needs. This is one of the core ideas behind free software, and we're glad the space agency values it.

Unfortunately, both NASA and the media writing about the decision have been calling the operating system "Linux" instead of "GNU/Linux." The kernel Linux is an important part of the operating system known as GNU/Linux, but the vision of the system and the framework on which the system is made were developed by the GNU Project, a community of developers that care deeply about free software ideas. Because of this, it is inaccurate to refer to the OS as "Linux," and doing so covers up the fact that this space-worthy operating system is the result of a decades-long commitment to ethical values.

That's why we ask that, when you talk or write about the operating system (in space or otherwise), you help us by referring to it as "GNU/Linux," and encourage your friends to do the same. There are gnus up there in space, along with the penguins.

Ironically, even though NASA calls the operating system by a misleading name, the distribution they chose, Debian, gets this right -- its official name is Debian GNU/Linux.

To learn more about this naming problem, see "Linux and GNU", the GNU/Linux FAQ or the history of the GNU Project on GNU.org.

Categories: FLOSS Project Planets

GNU/Linux chosen as operating system of the International Space Station

FSF Blogs - Wed, 2013-05-22 13:03
This is a wise choice for the space station, and a high-profile victory for software freedom. It brings good publicity for free software, demonstrating its respected position in the world of science and technology.

While "use it on a space station" wasn't listed as one of RMS's "Measures Governments Can Use to Promote Free Software", the announcement that the International Space Station is switching its laptops from Windows XP to GNU/Linux is exciting news. It's especially important for governments to use free software, because everything they do is paid for by the citizens of their countries. To ask citizens to pay for software that they cannot use, study and modify is especially unjust.

Along with increased reliability, NASA said they chose GNU/Linux because they could modify it to fit their needs. This is one of the core ideas behind free software, and we're glad the space agency values it.

Unfortunately, both NASA and the media writing about the decision have been calling the operating system "Linux" instead of "GNU/Linux." The kernel Linux is an important part of the operating system known as GNU/Linux, but the vision of the system and the framework on which the system is made were developed by the GNU Project, a community of developers that care deeply about free software ideas. Because of this, it is inaccurate to refer to the OS as "Linux," and doing so covers up the fact that this space-worthy operating system is the result of a decades-long commitment to ethical values.

That's why we ask that, when you talk or write about the operating system (in space or otherwise), you help us by referring to it as "GNU/Linux," and encourage your friends to do the same. There are gnus up there in space, along with the penguins.

Ironically, even though NASA calls the operating system by a misleading name, the distribution they chose, Debian, gets this right -- its official name is Debian GNU/Linux.

To learn more about this naming problem, see "Linux and GNU", the GNU/Linux FAQ or the history of the GNU Project on GNU.org.

Categories: FLOSS Project Planets

Drupal Association News: Guest Blog: Drupal Crowd-Funding Success!

Planet Drupal - Wed, 2013-05-22 11:53

Mike Gifford is President of OpenConcept Consulting Inc. and co-founder of Open Source Alliance of Canada.

 

Personal blog tags: Drupalcrowd fundingDrupal 8
Categories: FLOSS Project Planets

Plasma Workspaces 4.11: A long term release

Planet KDE - Wed, 2013-05-22 11:44

We are nearing the soft feature freeze for the 4.11 release, and that seemed like a good time to share some news. Plasma Workspaces 4.11 is going to significant for two reasons:

  1. It will be the last feature release in the 4.x series of Plasma Workspaces. Feature development will switch fully to the Qt5 and KDE Frameworks 5 based Plasma Workspaces 2.
  2. We will be providing stabilization releases (bug fixes, translation improvements, etc.) for two years for the 4.11 release of KDE Plasma Workspaces.
Before going into more details, let me offer a preemptive clarification:
This does not effect, in any way, anything other than the code currently in the kde-workspace repository. Applications are not affected, kdelibs and kderuntime will continue on as they currently are (with kdelibs in a feature freeze of its own already). I fully expect there to be a 4.12 and likely a 4.13 release of the applications, and how long that goes on will be up to the application developers and release team.With that out of the way, some details!
Long Term ReleaseOne of the most exciting things about this direction is that our distribution and packaging partners will be able to have a version that will see releases which focus exclusively on stabilization for at least two years. There will be no new features added after 4.11.0 to Plasma Desktop and Netbook, though the code will be adjusted as needed to maintain and improve existing functionality. This should make Plasma Desktop 4.11 an excellent candidate for inclusion in distributions that have a longer shelf-life.
This is a great opportunity to get changes in that polish things up as they will be available for a long while. Often between releases whole components are revamped and sometimes this results in some polish being lost temporarily. With a long lifespan, these improvements will be allowed to naturally accumulate to the benefit of those using it.
We expect that these ongoing releases to overlap with, and indeed continue after, the initial release of Plasma Workspaces 2.
This was one of the secrets behind the success of KDE 3.5 (back when we called the whole thing "KDE" .. more on that later, though): it had releases for a very long time that focused nearly exclusively on stabilization and polishing. We were working towards the 4.0 release at the time, but it showed that having such a release supported for a longer time can be quite a good thing. We actually did two releases for 3.5.x after 4.0; we even announced our intention to do this when we released 4.0. Unfortunately, the world basically ignored that and one reason might have been because it got buried beneath the excitement around the new major release.
Hopefully by announcing it early and getting the long term release version out well in advance of Plasma Workspaces 2 it will work better and distributions will be able to build plans around it effectively.Decoupling the Software Compilation (Somewhat)As KDE's software projects have grown in scope and number, one thing that became increasingly clear is that a single development and release cycle no longer fits all of the projects equally well. Large mature libraries benefit from longer and more conservative cycles while smaller and newer components benefit from rapid iteration. Releasing twice a year may be enough for a desktop shell, but for many applications six months is a larger window than is comfortable. When we add in dependencies between the libraries and the applications, having to time everything just right to take advantage of additions to the libraries becomes increasingly difficult.
This was one of the concerns we took into consideration when repositioning the KDE brand a few years back. We reappropriated the term "KDE" for the community of participants and gave names to each set of software. With KDE Frameworks 5 (the next major release of KDE's core libraries) and Plasma Workspaces 2 both being developed in tandem, we are now free to set each on a release and development schedule that works for them. We won't have to compromise in either direction just to find a single release date that works for both. This also means that application developers won't be hung up waiting for Plasma Workspaces 2, either. They'll have a great 4.11.x workspace to use and develop in and will be able to move to Frameworks 5 independent of where Plasma Workspaces 2 is in its development and release cycle.
I fully expect that we will continue to have coordinated release days for KDE software, and I actually hope that more software will release on those days as we move beyond the strict nature of the "software compilation". However, development cycles will not be the same and some projects will release more often than those couple of times per year. There is a lot of discussion and planning to be done before this is fully implemented and working. This is simply a first small step from the Plasma team towards this.
It's taken a few years to get to this point due to having to wait for the right moments to engage certain aspects of these plans, but it feels very good to approaching the place we envisioned.Shortening the Wait for Plasma Workspaces 2Due to all of the above, we will be able to focus our feature development efforts squarely on Plasma Workspaces 2. We will also be able to do releases when it is ready, independent of Frameworks 5. It is not outside the realm of possibility, for instance, to see an initial Plasma Workspaces 2 release on top of a technical preview of Frameworks 5.
By focusing our attention and creating sensible schedules for each component, we will be able to get to Plasma Workspaces 2 as quickly as possible (though no quicker). It also is allowing us to broaden the scope of Plasma Workspaces to bring in a number of "orphaned" modules, such as networkmanager or bluedevil. These components are currently developed in their own repositories and outside the KDE software compilation development cycles. This makes lots of sense for these projects as they can iterate faster and release when necessary more easily. Unfortunately, it makes coordination and integration harder.
With Plasma Workspaces 2 approaching and following it's own rhythm we will be looking to pull more of these projects together. The networking plasmoid, for instance, should not be an add-on developed outside the main workspace efforts, but a properly integrated feature with the ability to participate in the direction setting. So instead of producing a core shell and then waiting for all the pieces to eventually catch up, as we have done in the past, we're working to ensure a complete experience sooner.How We Arrived At This DecisionWe first discussed these ideas among developers who work on Plasma Desktop. We broadened the discussion to the general Plasma developer community, and finally looked for the consensus within those discussions while at the recent Tokamak 6 meeting. We communicated this back to the wider KDE community, first by approaching the release team and ensuring the idea was feasible from their point of view. We then posted an announcement to the kde-core-devel and packagers mailing list with further details. Those discussions have run their course, and so now I'm taking some time to share it with you. :)
The plan has been formulated by consensus (which is not the same an unanimity) and it took quite a while to arrive at as a result. However, it got a lot of great feedback and realistic concerns which has improved the resulting plan in many ways. It's still plastic, however, and we can and will adapt it as necessary as we move forward with its implementation.
Categories: FLOSS Project Planets

DrupalCon Portland 2013: DrupalCon Portland Day 2: See the group photo and watch Karen McGrane's keynote, "Thriving in a World of Change: Future-friendly content with Drupal"

Planet Drupal - Wed, 2013-05-22 11:18

Here comes the rain! DrupalCon Portland welcomes our attendees to Day 2, with breakfast sandwiches (look for the big black truck across the street from the Oregon Convention Center) and of course, cold and dreary Portland rain. Grab a Drupal branded hoodie and KeepCup from the DrupalCon bookstore (in room C121) to keep warm between sessions and so fellow Drupalers can spot you when running around the city later this week completing missions from our Photo Scavenger Hunt.

Categories: FLOSS Project Planets

Colm O hEigeartaigh: Apache CXF 2.7.5 released

Planet Apache - Wed, 2013-05-22 11:09
Apache CXF 2.7.5 has been released. The list of issues fixed is available here. The following security fixes of note have been made in this release:
  • The OpenSAML dependency has been upgraded from 2.5.1 to 2.5.3.
  • A change was made to the logic the STS uses to encrypt tokens that it issues. Previously it threw an exception if a key could not be found (at either service or at a more generic level) to use to encrypt the token. Now it only encrypts the token if a matching key can be found. This allows the ability to only encrypt tokens to specific "AppliesTo" endpoint addresses.
  • LDAP groups are now (better) supported as claims in the STS. See the following blog entry for more detail.
  • The CryptoCoverageChecker interceptor has been enhanced so that you can disable coverage checking for SOAP Faults. This is useful for testing/debugging if you want to figure out the root cause of a remote exception.
Categories: FLOSS Project Planets

May Updates to KDE Plasma and Applications

Planet KDE - Wed, 2013-05-22 10:23

Packages for the release of KDE SC 4.10.3 are available for Kubuntu 13.04, 12.10 and 12.04. You can get them from the Kubuntu Updates PPA for 13.04 and from the Backports PPA for 12.10 and 12.04.

Bugs in the packaging should be reported to kubuntu-ppa on Launchpad. Bugs in the software to KDE.

Categories: FLOSS Project Planets

Homerun 1.0.0!

Planet KDE - Wed, 2013-05-22 10:20
A New Release

Today, I am happy to announce the release of Homerun 1.0.0. This new version comes with a few new features.

Let's start with the biggest one: favorite reordering by drag and drop. This is one of the most wanted feature requests for Homerun. It lets you reorder your favorite applications and places by holding down the left mouse button and dragging items around.

This short video demonstrates how it works:

This was surprisingly difficult to get right with QtQuick 1, so I am glad it's now done.

Note that while this feature is currently only available for the "Favorite Applications" and "Favorite Places" Homerun sources, it is actually possible for any source to provide reordering via drag and drop if it makes sense for this source to do so.

Another new feature is the ability to customize shortcuts. This started with the idea of creating a cheatsheet of Homerun shortcuts, but I was worried the list in the cheatsheet would not be kept up to date with the actual shortcuts so I looked into generating the content of the cheatsheet from the code handling the shortcuts. At one point I realized kdelibs already provided what I wanted and more in the form of the standard shortcut dialog, so I scraped my code and went for exposing the standard KDE shortcut dialog. You can reach it from the configure menu in the top-right of the screen.

Finally, other minor improvements have been made:

  • The context menu of the "Trash" folder now has an "Empty Trash" entry,
  • When an application or place is marked as a favorite, a short message appears on the top of the screen, reassuring you that your request has been taken into account.

As usual, this new release is available on download.kde.org.

Moving On

This release is my last Homerun release: I am passing over maintenance to Eike Hein, who you may know as the man behind Konversation and Yakuake. I am confident Homerun is in good hands with him.

As for me, I am going to return to what I enjoy most: working on applications. In the next months I plan to get more involved in KDEPIM, starting with what I do best: obsessing beyond reason about widgets layouts and margins. Once I feel familiar enough with the code base, I'll try to get a bit out of my comfort zone and help fixing underlying bugs.

Categories: FLOSS Project Planets

Propeople Blog: Working with Drupal Organic Groups

Planet Drupal - Wed, 2013-05-22 10:13

I'm sure the sentence 'There is nothing impossible in Drupal' is not something unfamiliar for your ears. This blog post is a proof of this statement. Here we, the Propeople Drupal Digital Agency team, will make an overview of the Organic Groups module, another useful and powerful module that is appreciated by many Drupal users and developers.

First of all: OG – what is this all about? I think the best example would be Facebook Groups. Have you heard about Facebook Groups? I bet you have. In most of the cases Organic Groups are similar. Creating groups – public or private, inviting members, posting content, commenting it. These sets of features are in the core of Facebook groups as well as in Organic Groups.

By using Organic Groups we can build an entire community platform similar to a forum, but with more social networking features such as notifications and connection between members. We also have advanced access management via roles and permissions, and the flexibility to create various types of content. On the project page we can see a list of websites that use Organic Groups, quite a few big names can be spotted.

Before creating an Organic Groups platform from scratch or implement it in an existing website, we have to figure out what do we want to have as main features and if they can be by the OG module pack.

Here is a list of necessary points and a short description for each of them on how to configure it in Drupal:

 

Creating Groups – the site administrator should be able to create group rooms.

After enabling the OG module we can define each content type, new or existing, as a group or as a group content. On the content type edit page we have a vertical tab called Organic Groups.



Groups are entities. Every user with the right permissions will be able to create groups. We can define multiple types of groups. If we create Public group and Private group content types we have different content types, so we can set different permissions and access levels.

 

Appoint a group owner – the site administrator should be able to appoint an owner of the group who will manage all the group settings, membership and content.

By default, the group owner is the author of the group node. But it is configurable. Every group node has an interface for managing subscribed people.

 

Group posts or group content - define various types of content and relate it with groups.

Defining group content is similar to defining groups. Organic Groups vertical tab that appears on the edit page of the content type has an option - Group Content where can set the target bundles. In other words we choose which group types to use as group content. Posting content in groups can be restricted via roles and permissions.

 

Commenting in groups – all group members should be able to comment.

As a node itself, groups and group content have the option to enable comments. Commenting in groups can be restricted via roles and permissions. Defining roles and setting permissions will give us the control we need.

 

Listing group content and group members.

OG modules pack comes with predefined views. We can use them to list group content or group members. Displays are Block and Content Pane so we have what we need. Great!

 

Notifications – send emails when user is subscribing and adding content.

The OG modules pack also comes with a predefined set of rules. We can send emails to user subscription. For adding content we need to define custom rules.

 

So, if you need a social-based flexible forum-like website, or you are just curious about the module, do not hesitate to install and configure Organic Groups today.

Don’t miss a post about Drupal world, follow us on Twitter, Facebook and subscribe to Propeople RSS feed.

Language English Tags: DrupalDevelopmentTutorialsCheck this option to include this post in Planet Drupal aggregator: planet
Categories: FLOSS Project Planets
Syndicate content