Agrégateur de flux

Blair Wadman: Create your first Drupal admin interface

Planet Drupal - mar, 22/07/2014 - 12:34

One of the key features of a Drupal module is an admin interface. An admin interface enables you to make a module's settings configurable by a site editor or administrator so they can change them on the fly.

Tags: Drupal Module DevelopmentPlanet Drupal
Catégories: Elsewhere

Russell Coker: Public Lectures About FOSS

Planet Debian - mar, 22/07/2014 - 10:22
Eventbrite

I’ve recently started using the Eventbrite Web site [1] and the associated Eventbrite Android app [2] to discover public events in my area. Both the web site and the Android app lack features for searching (I’d like to save alerts for my accounts and have my phone notify me when new events are added to their database) but it is basically functional. The main issue is content, Eventbrite has a lot of good events in their database (I’ve got tickets for 6 free events in the next month). I assume that Eventbrite also has many people attending their events, otherwise the events wouldn’t be promoted there.

At this time I haven’t compared Eventbrite to any similar services, Eventbrite events have taken up much of my available time for the next 6 weeks (I appreciate the button on the app to add an entry to my calendar) so I don’t have much incentive to find other web sites that list events. I would appreciate comments from users of competing event registration systems and may write a post in future comparing different systems. Also I have only checked for events in Melbourne, Australia as I don’t have any personal interest in events in other places. For the topic of this post Eventbrite is good enough, it meets all requirements for Melbourne and I’m sure that if it isn’t useful in other cities then there are competing services.

I think that we need to have free FOSS events announced through Eventbrite. We regularly have experts in various fields related to FOSS visiting Melbourne who give a talk for the Linux Users of Victoria (and sometimes other technical groups). This is a good thing but I think we could do better. Most people in Melbourne probably won’t attend a LUG meeting and if they did they probably wouldn’t find it a welcoming experience.

Also I recommend that anyone who is looking for educational things to do in Melbourne visit the Eventbrite web site and/or install the Android app.

Accessible Events

I recently attended an Eventbrite event where a professor described the work of his research team, it was a really good talk that made the topic of his research accessible to random members of the public like me. Then when it came to question time the questions were mostly opinion pieces disguised as questions which used a lot of industry specific jargon and probably lost the interest of most people in the audience who wasn’t from the university department that hosted the lecture. I spent the last 15 minutes in that lecture hall reading Wikipedia and resisted the temptation to load an Android game.

Based on this lecture (and many other lectures I’ve seen) I get the impression that when the speaker or the MC addresses a member of the audience by name (EG “John Smith has a question”) then it’s strongly correlated with a low quality question. See my previous post about the Length of Conference Questions for more on this topic [3].

It seems to me that when running a lecture everyone involved has to agree about whether it’s a public lecture (IE one that is for any random people) as opposed to a society meeting (which while free for anyone to attend in the case of a LUG is for people with specific background knowledge). For a society meeting (for want of a better term) it’s OK to assume a minimum level of knowledge that rules out some people. If 5% of the audience of a LUG don’t understand a lecture that doesn’t necessarily mean it’s a bad lecture, sometimes it’s not possible to give a lecture that is easily understood by those with the least knowledge that also teaches the most experienced members of the audience.

For a public lecture the speaker has to give a talk for people with little background knowledge. Then the speaker and/or the MC have to discourage or reject questions that are for a higher level of knowledge.

As an example of how this might work consider the case of an introductory lecture about how an OS kernel works. When one of the experienced Linux kernel programmers visits Melbourne we could have an Eventbrite event organised for a lecture introducing the basic concepts of an OS kernel (with Linux as an example). At such a lecture any questions about more technical topics (such as specific issues related to compilers, drivers, etc) could be met with “we are having a meeting for more technical people at the Linux Users of Victoria meeting tomorrow night” or “we are having coffee at a nearby cafe afterwards and you can ask technical questions there”.

Planning Eventbrite Events

When experts in various areas of FOSS visit Melbourne they often offer a talk for LUV. For any such experts who read this post please note that most lectures at LUV meetings are by locals who can reschedule, so if you are only in town for a short time we can give you an opportunity to speak at short notice.

I would like to arrange to have some of those people give a talk aimed at a less experienced audience which we can promote through Eventbrite. The venue for LUV talks (Melbourne University 7PM on the first Tuesday of the month) might not work for all speakers so we need to find a sponsor for another venue.

I will contact Linux companies that are active in Melbourne and ask whether they would be prepared to sponsor the venue for such a talk. The fallback option would be to have such a lecture at a LUV meeting.

I will talk to some of the organisers of science and technology events advertised on Eventbrite and ask why they chose the times that they did. Maybe they have some insight into which times are best for getting an audience. Also I will probably get some idea of the best times by just attending many events and observing the attendance. I think that the aim of an Eventbrite event is to attract delegates who wouldn’t attend other meetings, so it is a priority to choose a suitable time and place.

Finally please note that while I am a member of the LUV committee I’m not representing LUV in this post. My aim is that community feedback on this post will help me plan such events. I will discuss this with the LUV committee after I get some comments here.

Please comment if you would like to give such a public lecture, attend such a lecture, or if you just have any general ideas.

Related posts:

  1. Sex and Lectures about Computers I previously wrote about the appropriate references to porn in...
  2. Phone Based Lectures Early this month at a LUV meeting I gave a...
  3. Car vs Public Transport to Save Money I’ve just been considering when it’s best to drive and...
Catégories: Elsewhere

Martin Pitt: autopkgtest 3.2: CLI cleanup, shell command tests, click improvements

Planet Debian - mar, 22/07/2014 - 08:16

Yesterday’s autopkgtest 3.2 release brings several changes and improvements that developers should be aware of.

Cleanup of CLI options, and config files

Previous adt-run versions had rather complex, confusing, and rarely (if ever?) used options for filtering binaries and building sources without testing them. All of those (--instantiate, --sources-tests, --sources-no-tests, --built-binaries-filter, --binaries-forbuilds, and --binaries-fortests) now went away. Now there is only -B/--no-built-binaries left, which disables building/using binaries for the subsequent unbuilt tree or dsc arguments (by default they get built and their binaries used for tests), and I added its opposite --built-binaries for completeness (although you most probably never need this).

The --help output now is a lot easier to read, both due to above cleanup, and also because it now shows several paragraphs for each group of related options, and sorts them in descending importance. The manpage got updated accordingly.

Another new feature is that you can now put arbitrary parts of the command line into a file (thanks to porting to Python’s argparse), with one option/argument per line. So you could e. g. create config files for options and runners which you use often:

$ cat adt_sid --output-dir=/tmp/out -s --- schroot sid $ adt-run libpng @adt_sid Shell command tests

If your test only contains a shell command or two, or you want to re-use an existing upstream test executable and just need to wrap it with some command like dbus-launch or env, you can use the new Test-Command: field instead of Tests: to specify the shell command directly:

Test-Command: xvfb-run -a src/tests/run Depends: @, xvfb, [...]

This avoids having to write lots of tiny wrappers in debian/tests/. This was already possible for click manifests, this release now also brings this for deb packages.

Click improvements

It is now very easy to define an autopilot test with extra package dependencies or restrictions, without having to specify the full command, using the new autopilot_module test definition. See /usr/share/doc/autopkgtest/README.click-tests.html for details.

If your test fails and you just want to run your test with additional dependencies or changed restrictions, you can now avoid having to rebuild the .click by pointing --override-control (which previously only worked for deb packages) to the locally modified manifest. You can also (ab)use this to e. g. add the autopilot -v option to autopilot_module.

Unpacking of test dependencies was made more efficient by not downloading Python 2 module packages (which cannot be handled in “unpack into temp dir” mode anyway).

Finally, I made the adb setup script more robust and also faster.

As usual, every change in control formats, CLI etc. have been documented in the manpages and the various READMEs. Enjoy!

Catégories: Elsewhere

PreviousNext: Using Drupal 8 Condition Plugins API

Planet Drupal - mar, 22/07/2014 - 08:03

Although Drupal 8 has had a Conditions Plugin API for a several months, it wasn't until during DrupalCon Austin sprint we managed to get blocks to use the Conditions Plugin API for block visibility.

The great thing about Condition Plugins, is they are re-usable chunks of code, and many contrib projects will be able to take advantage of them (Page Manager, Panels, Rules anyone?)

In this post, I show how you can create an example Page Message module that uses a RequestPath condition plugin to show a message on a configured page.

Catégories: Elsewhere

DrupalCon Amsterdam: Come to the Devops Track at DrupalCon Amsterdam

Planet Drupal - mar, 22/07/2014 - 08:00

So you've finished building a beautiful Drupal website. That means your work is done, right?

Not even close! Building the site is only the beginning: every website needs to be deployed, hosted, monitored, maintained, upgraded, security patched, scaled, and more— and if you start thinking about those things only after finishing your site, you’re bound to run into trouble.

Fortunately, DrupalCon Amsterdam is here to help! We’ll be running a #devops track that will bring devs and ops closer together. We’ll be discussing ways to achieve easier deployments, as well as how to ensure better stability, scalability and security for your big, beautiful Drupal website.

We've got a bunch of awesome speakers with experience in all of the above topics, as well as:

  • managing large sites,
  • doing continuous delivery of applications,
  • automated testing to improve quality
  • ... and many more topics that you should think about when building that beautiful website that can't afford to go down.

    The DrupalCon Amsterdam DevOps track will feature a broad range of talks covering the various technologies used in devops— and we expect it will be a nice counterpart to the traditional Drupal-centric tracks. These DevOps sessions will give you a perfect opportunity to peek into new technologies and talk with the best people working on those solutions.

    Whether you are putting together a small internal application or a large, popular, internet-facing site, your job does not end at the last commit. So join us in learning how to release stronger and better software faster. We’re all in this together, so let’s share the love and learn from each other!

    Catégories: Elsewhere

    MJ Ray: Three systems

    Planet Debian - mar, 22/07/2014 - 05:59

    There are three basic systems:

    The first is slick and easy to use, but fiddly to set up correctly and if you want to do something that its makers don’t want you to, it’s rather difficult. If it breaks, then fixing it is also fiddly, if not impossible and requiring complete reinitialisation.

    The second system is an older approach, tried and tested, but fell out of fashion with the rise of the first and very rarely comes preinstalled on new machines. Many recent installations can be switched to and from the first system at the flick of a switch if wanted. It needs a bit more thought to operate but not much and it’s still pretty obvious and intuitive. You can do all sorts of customisations and it’s usually safe to mix and match parts. It’s debatable whether it is more efficient than the first or not.

    The third system is a similar approach to the other two, but simplified in some ways and all the ugly parts are hidden away inside neat packaging. These days you can maintain and customise it yourself without much more difficulty than the other systems, but the basic hardware still attracts a price premium. In theory, it’s less efficient than the other types, but in practice it’s easier to maintain so doesn’t lose much efficiency. Some support companies for the other types won’t touch it while others will only work with it.

    So that’s the three types of bicycle gears: indexed, friction and hub. What did you think it was?

    Catégories: Elsewhere

    Drupal Watchdog: Outed in Austin

    Planet Drupal - mar, 22/07/2014 - 03:26

    Today, my cover was blown.

    If you came across this photo on your Facebook account or Twitter feed and you’ve been wondering – or furiously texting friends who were in Austin last month – “Is that really...?” or “Was he...” and “Did you meet him?”

    The answer is:

    No. Howard Stern did not attend DrupalCon as a Drupal Watchdog secret agent. (Although we did hear a rumor that he was in Austin at the time, taping an episode of America’s Got Talent, and that he just might put in a surprise appearance at the Convention Center.)

    In fact, I can say with some certainty – having been a guest on his show – that Howard wouldn’t know Drupal from poopal.

    Truly, that was I in the photo: Ronnie Ray, your fearless Watchdog blogster.

    So now you know. But kindly keep this information on the QT.

    Although if you or your company want a Howardish presence at DrupalCon Amsterdam, feel free to send checks, cash, a NYC-Amsterdam round-trip airline ticket (and Howard only flies first class, alas) to R. Brawer, c/o this magazine.

    Images: 
    Catégories: Elsewhere

    Andrew Pollock: [debian] Day 174: Kindergarten, startup stuff, tennis

    Planet Debian - mar, 22/07/2014 - 03:23

    I picked up Zoe from Sarah this morning and dropped her at Kindergarten. Traffic seemed particularly bad this morning, or I'm just out of practice.

    I spent the day powering through the last two parts of the registration block of my real estate licence training. I've got one more piece of assessment to do, and then it should be done. The rest is all dead-tree written stuff that I have to mail off to get marked.

    Zoe's doing tennis this term as her extra-curricular activity, and it's on a Tuesday afternoon after Kindergarten at the tennis court next door.

    I'm not sure what proportion of the class is continuing on from previous terms, and so how far behind the eight ball Zoe will be, but she seemed to do okay today, and she seemed to enjoy it. Megan's in the class too, and that didn't seem to result in too much cross-distraction.

    After that, we came home and just pottered around for a bit and then Zoe watched some TV until Sarah came to pick her up.

    Catégories: Elsewhere

    FiveRDesign: Drupal HowTo: Turn Off The "Read More" In Commerce Product Displays

    Planet Drupal - mar, 22/07/2014 - 02:00
    A post describing how to overcome the obscureness of how to turn off the read more option on the body field of Drupal Commerce product displays.
    Catégories: Elsewhere

    PreviousNext: Easy improvements for Drupal content editors using contrib

    Planet Drupal - mar, 22/07/2014 - 01:00

    Get started with some quick and easy ways to improve the content editor experience, using contributed modules.

    Catégories: Elsewhere

    Andrew Pollock: [debian] Day 173: Investigation for bug #749410 and fixing my VMs

    Planet Debian - lun, 21/07/2014 - 22:25

    I have a couple of virt-manager virtual machines for doing DHCP-related work. I have one for the DHCP server and one for the DHCP client, and I have a private network between the two so I can simulate DHCP requests without messing up anything else. It works nicely.

    I got a bit carried away, and I use LVM to snapshots for the work I do, so that when I'm done I can throw away the virtual machine's disks and work with a new snapshot next time I want to do something.

    I have a cron job, that on a good day, fires up the virtual machines using the master logical volumes and does a dist-upgrade on a weekly basis. It seems to have varying degrees of success though.

    So I fired up my VMs to do some investigation of the problem for #749410 and discovered that they weren't booting, because the initramfs couldn't find the root filesystem.

    Upon investigation, the problem seemed to be that the logical volumes weren't getting activated. I didn't get to the bottom of why, but a manual activation of the logical volumes allowed the instances to continue booting successfully, and after doing manual dist-upgrades and kernel upgrades, they booted cleanly again. I'm not sure if I got hit by a passing bug in unstable, or what the problem was. I did burn about 2.5 hours just fixing everything up though.

    Then I realised that there'd been more activity on the bug since I'd last read it while I was on vacation, and half the investigation I needed to do wasn't necessary any more. Lesson learned.

    I haven't got to the bottom of the bug yet, but I had a fun day anyway.

    Catégories: Elsewhere

    Forum One: Getting Started With Drupal 8 Code

    Planet Drupal - lun, 21/07/2014 - 22:18

    Want to get started with Drupal 8 coding, but not sure where to begin?

    Fear not! That’s exactly how I felt before I jumped down the rabbit hole by attending my first Drupal 8 code sprint, organized by the Forum One team earlier this month. Others there seemed to be in the same place I was in – which is to say that what we anticipated to be a quick installation actually turned into a lot of time spent that I’d have rather spent contributing!

    To spare the next person from this experience I have created a friendly slideshow to guide you through the setup and installation process of getting Drupal 8 up-and-running locally.

    Enjoy! And if you have any suggestions for enhancements, please leave them in the comments below

    Catégories: Elsewhere

    Drupal Commerce: Converting Your Existing Platform.sh Development Environment to a Makefile

    Planet Drupal - lun, 21/07/2014 - 21:28

    One of the most exciting features of Platform.sh is it’s ability to use Drush makefiles to rapidly prototype sites. By default, new projects can start with a makefile that will automatically add Commerce Kickstart or vanilla Drupal. Then, using the makefile, you can add new modules, themes, and libraries, by simply adding a few lines to the makefile and commiting. When you push the changes to your platform, the entire site will be rebuilt. Plus, whenever you’re in “makefile mode” any extra files that are in the root of the respository get pushed into sites/all/default. So if you have any custom modules, you can just stick them in modules/ and they’ll end up in sites/all/default/modules. This can make your code bases not only small, but far more manageable. You can convert a site that isn’t a makefile into a makefile. And in this post, that’s exactly what we’re going to do.

    Catégories: Elsewhere

    Chris Lamb: Disabling internet for specific processes with libfiu

    Planet Debian - lun, 21/07/2014 - 20:26

    My primary usecase is to prevent testsuites and build systems from contacting internet-based services. This, at the very least, introduces an element of non-determinism and malicious code at worst.

    I use Alberto Bertogli's libfiu for this, specifically the fiu-run utility which part of the fiu-utils package on Debian and Ubuntu.

    Here's a contrived example, where I prevent Curl from talking to the internet:

    $ fiu-run -x -c 'enable name=posix/io/net/connect' curl google.com curl: (6) Couldn't resolve host 'google.com'

    ... and here's an example of it detecting two possibly internet-connecting tests:

    $ fiu-run -x -c 'enable name=posix/io/net/connect' ./manage.py text [..] ---------------------------------------------------------------------- Ran 892 tests in 2.495s FAILED (errors=2) Destroying test database for alias 'default'...

    Note that libfiu inherits all the drawbacks of LD_PRELOAD; in particular, we cannot limit the child process that calls setuid binaries such as /bin/ping:

    $ fiu-run -x -c 'enable name=posix/io/net/connect' ping google.com PING google.com (173.194.41.65) 56(84) bytes of data. 64 bytes from lhr08s01.1e100.net (17.194.41.65): icmp_req=1 ttl=57 time=21.7 ms 64 bytes from lhr08s01.1e100.net (17.194.41.65): icmp_req=2 ttl=57 time=18.9 ms [..]

    Whilst it would certainly be more robust and flexible to use iptables—such as allowing localhost and other local socket connections but disabling all others—I gravitate towards this entirely userspace solution as it requires no setup and I can quickly modify it to block other calls on an ad-hoc basis. The list of other "modules" libfiu supports is viewable here.

    Catégories: Elsewhere

    Ian Campbell: sunxi-tools now available in Debian

    Planet Debian - lun, 21/07/2014 - 20:10

    I've recently packaged the sunxi tools for Debian. These are a set of tools produce by the Linux Sunxi project for working with the Allwinner "sunxi" family of processors. See the package page for details. Thanks to Steve McIntyre for sponsoring the initial upload.

    The most interesting component of the package are the tools for working with the Allwinner processors' FEL mode. This is a low-level processor mode which implements a simple USB protocol allowing for initial programming of the device and recovery which can be entered on boot (usually be pressing a special 'FEL button' somewhere on the device). It is thanks to FEL mode that most sunxi based devices are pretty much unbrickable.

    The most common use of FEL is to boot over USB. In the Debian package the fel and usb-boot tools are named sunxi-fel and sunxi-usb-boot respectively but otherwise can be used in the normal way described on the sunxi wiki pages.

    One enhancement I made to the Debian version of usb-boot is to integrate with the u-boot packages to allow you to easily FEL boot any sunxi platform supported by the Debian packaged version of u-boot (currently only Cubietruck, more to come I hope). To make this work we take advantage of Multiarch to install the armhf version of u-boot (unless your host is already armhf of course, in which case just install the u-boot package):

    # dpkg --add-architecture armhf # apt-get update # apt-get install u-boot:armhf Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: u-boot:armhf 0 upgraded, 1 newly installed, 0 to remove and 1960 not upgraded. Need to get 0 B/546 kB of archives. After this operation, 8,676 kB of additional disk space will be used. Retrieving bug reports... Done Parsing Found/Fixed information... Done Selecting previously unselected package u-boot:armhf. (Reading database ... 309234 files and directories currently installed.) Preparing to unpack .../u-boot_2014.04+dfsg1-1_armhf.deb ... Unpacking u-boot:armhf (2014.04+dfsg1-1) ... Setting up u-boot:armhf (2014.04+dfsg1-1) ...

    With that done FEL booting a cubietruck is as simple as starting the board in FEL mode (by holding down the FEL button when powering on) and then:

    # sunxi-usb-boot Cubietruck - fel write 0x2000 /usr/lib/u-boot/Cubietruck_FEL/u-boot-spl.bin fel exe 0x2000 fel write 0x4a000000 /usr/lib/u-boot/Cubietruck_FEL/u-boot.bin fel write 0x41000000 /usr/share/sunxi-tools//ramboot.scr fel exe 0x4a000000

    Which should result in something like this on the Cubietruck's serial console:

    U-Boot SPL 2014.04 (Jun 16 2014 - 05:31:24) DRAM: 2048 MiB U-Boot 2014.04 (Jun 16 2014 - 05:30:47) Allwinner Technology CPU: Allwinner A20 (SUN7I) DRAM: 2 GiB MMC: SUNXI SD/MMC: 0 In: serial Out: serial Err: serial SCSI: SUNXI SCSI INIT Target spinup took 0 ms. AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part ccc apst Net: dwmac.1c50000 Hit any key to stop autoboot: 0 sun7i#

    As more platforms become supported by the u-boot packages you should be able to find them in /usr/lib/u-boot/*_FEL.

    There is one minor inconvenience which is the need to run sunxi-usb-boot as root in order to access the FEL USB device. This is easily resolved by creating /etc/udev/rules.d/sunxi-fel.rules containing either:

    SUBSYSTEMS=="usb", ATTR{idVendor}=="1f3a", ATTR{idProduct}=="efe8", OWNER="myuser"

    or

    SUBSYSTEMS=="usb", ATTR{idVendor}=="1f3a", ATTR{idProduct}=="efe8", GROUP="mygroup"

    To enable access for myuser or mygroup respectively. Once you have created the rules file then to enable:

    # udevadm control --reload-rules

    As well as the FEL mode tools the packages also contain a FEX (de)compiler. FEX is Allwinner's own hardware description language and is used with their Android SDK kernels and the fork of that kernel maintained by the linux-sunxi project. Debian's kernels follow mainline and therefore use Device Tree.

    Catégories: Elsewhere

    Daniel Pocock: Australia can't criticize Putin while competing with him

    Planet Debian - lun, 21/07/2014 - 19:00

    While much of the world is watching the tragedy of MH17 and contemplating the grim fate of 298 deceased passengers sealed into a refrigerated freight train in the middle of a war zone, Australia (with 28 victims on that train) has more than just theoretical skeletons in the closet too.

    At this moment, some 153 Tamil refugees, fleeing the same type of instability that brought a horrible death to the passengers of MH17, have been locked up in the hull of a customs ship on the high seas. Windowless cabins and a supply of food not fit for a dog are part of the Government's strategy to brutalize these people for simply trying to avoid the risk of enhanced imprisonment(TM) in their own country.

    Under international protocol for rescue at sea and political asylum, these people should be taken to the nearest port and given a humanitarian visa on arrival. Australia, however, is trying to lie and cheat their way out of these international obligations while squealing like a stuck pig about the plight of Australians in the hands of Putin. If Prime Minister Tony Abbott wants to encourage Putin to co-operate with the international community, shouldn't he try to lead by example? How can Australians be safe abroad if our country systematically abuses foreigners in their time of need?

    Catégories: Elsewhere

    Mediacurrent: 10 Reasons Enterprise Marketers Choose Drupal

    Planet Drupal - lun, 21/07/2014 - 17:43

    As marketers, you understand the importance of having a system that promotes ease and efficiency when it comes to implementing marketing processes. You want to create content once and use it over and over in different ways to create contextual user experiences. 

    Drupal provides you with a variety of powerful, integrated tools to not only help you understand who you visitors are and what they want to accomplish, but to also dig deeper into their interactions, engagements and habits with your site. 

    Here are just a few reasons why enterprise marketers adopt Drupal. 
     

    Catégories: Elsewhere

    Phase2: Talking Mapping at the 2014 ESIP Summer Meeting

    Planet Drupal - lun, 21/07/2014 - 16:43

    Last week I had the opportunity to present at the Federation of Earth Science Information Partners (ESIP) Summer Meeting held in Copper Mountain, CO. The Summer Meeting is a gathering of IT professionals from across several different agencies such as NASA, NOAA and USGS. Each year, the group comes together to talk about the challenges that they each face while trying to engage and support the scientific community.

    When I got in on Wednesday a few of us got together to talk about how to kickstart the Science on Drupal group. While there’s been a science presence in the Drupal community for several years now in one form or another, there’s been a recent interest in pooling resources together to make a larger group. We had a great time strategizing how to grow the group over chips and salsa.

    For my presentation, I went over various different tools for doing online mapping work, both with native Drupal tools and other toolsets.

    One of the big challenges that this community has to face is how to work with large datasets that don’t fit neatly into a typical Drupal site. For my part, we spent a lot of time going over how to leverage tools like D3, CartoDB, GeoServer, and Mapbox to connect to data outside of Drupal and provide meaningful interaction with it.

    They also exposed me to DEIMS, a Drupal distribution that they had collaborated on that also features some interesting ways to interact with external data. There was a great presentation at Drupalcon Austin on the distribution that’s definitely worth checking out.

    If you’re interested in catching the presentation, the slides are posted on Github and the video is here. If you’re interested in catching up with what’s going on with the Drupal in Science working group, check out their page on groups.drupal.org.

    Thanks again to Adam Shepherd and the rest of the ESIP Drupal Working Group for inviting me out to hang out and learn from their experiences.

    Catégories: Elsewhere

    Steve Kemp: An alternative to devilspie/devilspie2

    Planet Debian - lun, 21/07/2014 - 16:30

    Recently I was updating my dotfiles, because I wanted to ensure that media-players were "always on top", when launched, as this suits the way I work.

    For many years I've used devilspie to script the placement of new windows, and once I googled a recipe I managed to achieve my aim.

    However during the course of my googling I discovered that devilspie is unmaintained, and has been replaced by something using Lua - something I like.

    I'm surprised I hadn't realized that the project was dead, although I've always hated the configuration syntax it is something that I've used on a constant basis since I found it.

    Unfortunately the replacement, despite using Lua, and despite being functional just didn't seem to gell with me. So I figured "How hard could it be?".

    In the past I've written softare which iterated over all (visible) windows, and obviously I'm no stranger to writing Lua bindings.

    However I did run into a snag. My initial implementation did two things:

    • Find all windows.
    • For each window invoke a lua script-file.

    This worked. This worked well. This worked too well.

    The problem I ran into was that if I wrote something like "Move window 'emacs' to desktop 2" that action would be applied, over and over again. So if I launched emacs, and then manually moved the window to desktop3 it would jump back!

    In short I needed to add a "stop()" function, which would cause further actions against a given window to cease. (By keeping a linked list of windows-to-ignore, and avoiding processing them.)

    The code did work, but it felt wrong to have an ever-growing linked-list of processed windows. So I figured I'd look at the alternative - the original devilspie used libwnck to operate. That library allows you to nominate a callback to be executed every time a new window is created.

    If you apply your magic only on a window-create event - well you don't need to bother caching prior-windows.

    So in conclusion :

    I think my code is better than devilspie2 because it is smaller, simpler, and does things more neatly - for example instead of a function to get geometry and another to set it, I use one. (e.g. "xy()" returns the position of a window, but xy(3,3) sets it.).

    kpie also allows you to run as a one-off job, and using the simple primitives I wrote a file to dump your windows, and their size/placement, which looks like this:

    shelob ~/git/kpie $ ./kpie --single ./samples/dump.lua -- Screen width : 1920 -- Screen height: 1080 .. if ( ( window_title() == "Buddy List" ) and ( window_class() == "Pidgin" ) and ( window_application() == "Pidgin" ) ) then xy(1536,24 ) size(384,1032 ) workspace(2) end if ( ( window_title() == "feeds" ) and ( window_class() == "Pidgin" ) and ( window_application() == "Pidgin" ) ) then xy(1,24 ) size(1536,1032 ) workspace(2) end ..

    As you can see that has dumped all my windows, along with their current state. This allows a simple starting-point - Configure your windows the way you want them, then dump them to a script file. Re-run that script file and your windows will be set back the way they were! (Obviously there might be tweaks required.)

    I used that starting-point to define a simple recipe for configuring pidgin, which is more flexible than what I ever had with pidgin, and suits my tastes.

    Bug-reports welcome.

    Catégories: Elsewhere

    Drupal core announcements: Work on Drupal 8 at major core sprints, August 7-10

    Planet Drupal - lun, 21/07/2014 - 16:22

    This summer is an important time to help get Drupal 8 done, so there is no good reason to skip getting together. We are holding two Drupal 8 sprints at the same time on August 7 to 10: one in North America at TCDrupal, and one in Europe at Drupalaton. Sprinters from both events will collaborate on Drupal 8 issues.

    Join jthorson, xjm, alexpott, Crell, mtift, YesCT, and other lead Drupal 8 developers at Twin Cities DrupalCamp (North America) or dawehner, swentel, fago, Wim Leers, rteijeiro, lewisnyman, emma.maria and Gábor Hojtsy among others at Drupalaton (Europe). Read more in the event announcement.

    Catégories: Elsewhere

    Pages

    Subscribe to jfhovinne agrégateur