Planet Drupal

Subscribe to flux Planet Drupal
Drupal.org - aggregated feeds in category Planet Drupal
Mis à jour : il y a 27 min 16 sec

Palantir: The Secret Sauce podcast, Ep. 16: Finding Your Purpose as a Drupal Agency

mar, 03/05/2016 - 17:03

CEO and Founder George DeMet shares a continuation of ideas presented at DrupalCon Barcelona with his new talk on the benefits of running a company according to a set of clearly defined principles, which he's presenting next week at DrupalCon New Orleans. It's called Finding Your Purpose as a Drupal Agency.

iTunes | RSS Feed | Download | Transcript

We'll be back next Tuesday with another episode of the Secret Sauce and a new installment of our long-form interview podcast On the Air With Palantir next month, but for now subscribe to all of our episodes over on iTunes.

Want to learn more? We have built Palantir over the last 20 years with you in mind, and are confident that our approach can enhance everything you have planned for the web.


Transcript


Allison Manley [AM]: Hi, and welcome to the Secret Sauce by Palantir.net. This is our short podcast that gives quick tips on small things you can do to make your business run better. I’m Allison Manley, an account manager here at Palantir, and today’s advice comes from George DeMet, our Founder and CEO, who as a small business owner knows a thing or two about how to run a company based on clearly defined principles.

George DeMet [GD]: My name is George DeMet, and I’m here today to talk about the benefits of running a company according to a set of clearly defined principles. What follows is taken from a session that I presented last fall at DrupalCon Barcelona on Architecting Companies that are Built to Last.

At the upcoming DrupalCon New Orleans in mid-May, I’ll be continuing this conversation in an all- new session called Finding Your Purpose as a Drupal Agency. If you’re able to attend Drupalcon New Orleans, I hope you’ll check it out.

Some time back I came across an article from the early 1970s about my grandfather, who was also named George DeMet. He was a Greek immigrant who spent more than 60 years running several candy stores, soda fountains, and restaurants in Chicago. While the DeMet’s candy and restaurant business were sold decades ago, the brand survives to this day and you can still buy DeMet’s Turtles in many grocery stores.

I never really got to know my grandfather, who died when I was 7 years old, but I have heard many of the stories that were passed down by my grandmother, my father, and other members of the family.

And from those stories, I’ve gotten a glimpse into some of the principles and values that helped make that business so successful for so long. Simple things, like honesty, being open to new ideas, listening to good ideas from other people, and so forth.

And as I was thinking about those things, I started doing some research into the values that so-called family businesses have in general, and that some of the oldest companies in history have in particular.

The longest lasting company in history was Kongo Gumi, a Japanese Buddhist temple builder that was founded in the year 578 and lasted until 2006. At the time that Kongo Gumi was founded, Europe was in the middle of the dark ages following the fall of the Roman Empire, the prophet Muhammed was just a child, the Mayan Empire was at its peak in Central America, and the Chinese had just invented matches.

At some point in the 18th century the company’s leadership documented a series of principles that were used by succeeding generations to help guide the company.

This included advice that’s still relevant to many companies today, like:

  • Always use common sense
  • Concentrate on your core business
  • Ensure long-term stability for employees
  • Maintain balance between work and family
  • Listen to your customers and treat them with respect
  • Submit the cheapest and most honest estimate
  • Drink only in moderation

Even though the Buddhist temple construction and repair business is a pretty stable one, they still had to contend with a lot of changes over their 1,400 year history. Part of what helped was that they had unusually flexible succession planning; even though the company technically was in the same family for 40 generations, control of the company didn’t automatically go to the eldest son; it went to the person in the family who was deemed the most competent, and sometimes that person was someone who was related by marriage.

Kongo Gumi not only only built temples that were designed to last centuries, but they also built relationships with their customers that lasted for centuries.

In the 20th century, Kongo Gumi branched out into private and commercial construction, which helped compensate for the decline in the temple business. They also didn’t shy away from changes in technology; they were the first in Japan to combine traditional wooden construction with concrete, and the first to use CAD software to design temples.

And while Kongo Gumi’s business had declined as they entered the 21st century, what ultimately did them in were speculative investments that they had made in the 80’s and early 90s in the Japanese real estate bubble.

Even though they were still earning more than $65 million a year in revenue in the mid-2000s, Kongo Gumi was massively over-leveraged and unable to service the more than $343 million in debt they had accumulated since the collapse of the bubble, and they ended up being absorbed by a larger construction firm.

Principles are designed to help answer the question of *how* a company does things, and what criteria they should use to make decisions. In the end, Kongo Gumi was no longer able to survive as an independent entity after 1,400 years in business not because of economic upheaval or changes in technology, but because they strayed from their core principles, stopped taking the long view, and went for the quick cash.

Companies that want to be successful in the long run need to identify their core principles and stick to them, even when doing so means passing up potentially lucrative opportunities in the short term.

Regardless of whether the business involves building Buddhist temples, making chocolate-covered pecans, or building websites, a focus on sustainability over growth encourages companies to put customers and employees first, instead of shareholders and investors. These kinds of companies are uniquely positioned to learn from their failures, build on success, and learn how to thrive in an ever-changing business landscape.

AM: Thank you George! George will be presenting his session, Finding Your Purpose as a Drupal Agency at DrupalCon New Orleans on Wednesday, May 11. You can find out more on our website at palantir.net and in the notes for this particular podcast episode.

If you want to see George’s presentation from DrupalCon Barcelona last year on Architecting Drupal Businesses that are Built to Last, you can also find that link in the notes for this episode as well.

For more great tips, follow us on Twitter at @palantir, or visit our website at palantir.net. Have a great day!

Catégories: Elsewhere

ThinkShout: Drupal 8 File-based Configuration on Pantheon

mar, 03/05/2016 - 17:00

As Drupal 7 developers, we know how risky it is to edit production code and configuration live. However, we often let clients do it because using Features is hard. Drupal 8 has solved a lot of this headache with file-based configuration management, which allows file-based workflows that gracefully avoid editing production directly. This article will show you how to use Drupal 8 configuration management and Pantheon’s amazing workflow tools to easily give your clients the ability to make configuration changes. We’ll show you how to seamlessly integrate those changes into your normal development workflow, so that you - and your clients - will win at Drupal!

Benefits of File-based Config

Storing active configuration directly in files has many benefits. The main benefit is that clients no longer have any reason to ever edit production configuration directly on production. Further, using file-based configuration removes the extra steps required to edit configuration in the database. These extra steps are confusing, can fail with fatal errors, and are made unnecessary by not storing configuration in the database.

How to Enable File-based Config

The documentation for enabling this isn’t too difficult. But, Pantheon recommends not storing the services.yml file in version control. So, we’ll create a new services YAML file and include that along with the active configuration settings in settings.php. Before you start, export your current configuration to the sites/default/config folder and deploy that to Pantheon. Next, enable file storage by adding the following config.services.yml to your sites folder and using the following settings.php.

Once deployed to Pantheon, the site will now be running in file-based configuration storage. To test this, go ahead and make a setting change in your local environment. You should see Drupal immediately write the change to site/default/config. Deploying this edit to Pantheon should make the Pantheon site immediately update to reflect the new configuration change. You just won at Drupal!

Configuration Workflow on Pantheon

Now create a multidev for the client to use. Once the multidev is created, put the Pantheon account into SFTP mode because SFTP mode allows Drupal to edit the configuration files directory. So, now so the client can edit the configuration in Drupal and save their work with the Pantheon dashboard.

Changes ready to commit

Changes committed

Merge to development

Configuration deployed to development

When the client has completed their work, they can deploy it using the Pantheon deployment tools. You can merge in a client’s work into your own easily because the client is now using version control. Once the configuration is merged to Dev, the standard Pantheon workflow makes it easy to deploy these changes to production.

Don’t Edit Production Directly

If production is in SFTP mode, clients can still edit production live. To prevent this, either keep production in Git mode, or use the Config Readonly module to lock production configuration.

Drupal gives users the power to build and edit a website, and users can make dramatic changes to websites with just a few clicks in forms. With Pantheon’s tools and Drupal 8, we now have the ability to use those wonderful tools in a safe environment. The tools combined allow us to bring clients into the workflow and manage deployments as a part of the team because Drupal 8 allows us to build robust, collaborative workflows like never before.

Catégories: Elsewhere

Valuebound: How To Create Custom SOLR Search With Autocomplete In Drupal 7

mar, 03/05/2016 - 13:35

In many cases, users visiting a site already know what they are looking for, hence they  head straight to the search box. Since it is likely to be their first point of contact with the website, retailers must ensure that they get it right the first time. This is to avoid the issue of users getting frustrated by inaccurate or badly-ranked results and as a result moving on to a different site.

A good starting point is to introduce a ‘suggest’(Autocomplete) function, which lists a drop-down menu of various  search queries containing the text fragment they have typed.

We will integrate the apache solr with our drupal site and make autocomplete search.
For this, we need to query the apache solr and then get the results from the apache finally  displaying it in…

Catégories: Elsewhere

OSTraining: Improve The Drupal 8 Admin Menu for Content Creators

mar, 03/05/2016 - 12:52

The Drupal admin interface needs to keep a lot of people happy. The admin interface is often used by everyone from very experienced users to complete beginners.

One of our members asked if it was possible to create a custom menu for their content creators. They wanted one single place for Drupal beginners to find all the links they needed.

In this tutorial, we'll show you how to do that and also create a faster, more usable admin menu.

Catégories: Elsewhere

Red Route: How I learned to stop worrying and love custom migration classes

mar, 03/05/2016 - 10:40

When I got sick of banging my head against the migration-shaped wall the other day, the state of my attempts to migrate content from Drupal 6 was fairly limited.

Migrate Upgrade was working fairly well, up to a point.

Gallery nodes had been migrated, but without their addresses, which is hardly surprising, seeing as the D6 site was using the Location module, and I've decided to go with Geolocation and Address for the new site.

Exhibition nodes had been migrated, but without the node references to galleries. There's an issue with a patch on drupal.org for this, but after applying the patch, files weren't being migrated.

Time to get stuck in and help fix the patch, I thought. But the trouble is that we're dealing with a moving target. With the release of Drupal 8.1.0, the various migrate modules are all changing as well, and core patches shouldn't be against the 8.0.x branch anymore. It's all too easy to imagine that updating to the latest versions of things will solve all your problems. But often you just end up with a whole new set of problems, and it's hard to figure out where the problem is, in among so much change.

Luckily, by the time I'd done a bit of fiddling with the theme, somebody else had made some progress on the entity reference migration patch, so when I revisited the migrations, having applied the new version of the patch, the exhibitions were being connected to the galleries correctly.

One problem I faced was that the migration would often fail with the error MySQL has gone away - with some help from drupal.org I learned that this wouldn't be so bad if the tables use InnoDB. Converting one of the suggestions into a quick script to update all the Drupal 6 tables really helped, although copying the my.cnf settings killed my MySQL completely for some reason. Yet another reminder to keep backups when you're changing things.

Having read some tutorials, and done some migrations in Drupal 6 and 7, I was trying to tweak the data inside the prepareRow method in my custom migration class. The thing I didn't get for ages was that this method is provided by the Migrate Plus module, so not only did the module have to be enabled, but the migration definition yml file names needed to start with migrate_plus.migration rather than the migrate.migration.

Once I'd made that change, the prepareRow method fired as expected, and from there it was relatively straightforward to get the values out of the old database, even in the more complex migrations like getting location data from another table and splitting it into two fields.

As an example, here's the code of the prepareRow method in the GalleryNode migration class:

/** * {@inheritdoc} */ public function prepareRow(Row $row) { if (parent::prepareRow($row) === FALSE) { return FALSE; } // Make sure that URLs have a protocol. $website = $row->getSourceProperty('field_website'); if (!empty($website)) { $url = $website[0]['url']; $website[0]['url'] = _gallerymigrations_website_protocol($url); $row->setSourceProperty('field_website', $website); } // Get the location data from the D6 database. $nid = $row->getSourceProperty('nid'); $location = $this->getLocation($nid); // Set up latitude and longitude for use with geolocation module. $geolocation = $this->prepareGeoLocation($location->latitude, $location->longitude); $row->setSourceProperty('field_location', $geolocation); $address = $this->prepareAddress($location); $row->setSourceProperty('field_address', $address); return parent::prepareRow($row); }

The methods called by this are all fairly similar, with a switch to the D6 database followed by a query - here's an example:

/** * Get the location for this node from the D6 database. * * @param int $nid * The node ID of the gallery. * * @return Object * The database row for the location. */ protected function getLocation($nid) { // Switch connection to access the D6 database. \Drupal\Core\Database\Database::setActiveConnection('d6'); $db = \Drupal\Core\Database\Database::getConnection(); $query = $db->select('location_instance', 'li'); $query->join('location', 'l', 'l.lid = li.lid'); $query->condition('nid', $nid); $query->fields('l', array( 'name', 'street', 'additional', 'city', 'province', 'postal_code', 'country', 'latitude', 'longitude', 'source', )); $result = $query->execute(); // Revert to the default database connection. \Drupal\Core\Database\Database::setActiveConnection(); $data = array(); foreach ($result as $row) { $data[] = $row; } // There should be only one row, so return that. return $data[0]; }

I get the feeling that if I was following the "proper" object-oriented approach, I'd be doing this using a process plugin, as suggested by this tutorial from Advomatic. But this does the job, and the code doesn't feel all that dirty.

Another lesson I learned the hard way is that when you're adding fields from other sources inside the prepareRow method, you also need to remember to add those fields into the .yml file.

Feeling pleased with myself that I'd managed to migrate the location data, I decided to jump down the rabbit hole of working on integration between Geolocation and Address modules, even though I'd already said I didn't need to do it. Why do developers do that? I can see how difficult a project manager's job can be sometimes. Thankfully, the integration (at least for the needs of this site) can be a fairly shallow and simple job with a few lines of JavaScript, so I've put a patch up for review.

In my day job, I'm a great believer in breaking tasks down as far as possible so that code can be reviewed in small branches and small commits. But when you're working on your own project, it's easy to jump around from task to task as the mood takes you. You can't be bothered with creating branches for every ticket - after all, who's going to review your code?. Half the time, you can't even be bothered creating tickets - you're the product owner, and the backlog is largely in your head.

That butterfly tendency, plus the number of patches I'm applying to core and contributed modules, means that my local site has far more uncommitted change than I'd normally be comfortable with. Using git change lists in PhpStorm has really helped me to cope with the chaos.

On the subject of patches, I've finally got round to trying out Dave Reid's patch tool - it's working really well so far.

This process has reinforced in my mind the value of testing things like migrations on a small sample set. Thankfully, the Drupal 6 version of the Admin Views module lets you bulk delete nodes and taxonomy terms - I couldn't face tweaking the migration while running multiple iterations of importing 3828 terms.

Which reminds me, xdebug is great, but remember to disable it after you've finished with it, otherwise using the site in your VM will be slow, and as Joel Spolsky says, when things run slowly, you get distracted and your productivity suffers. Humans are not good at multitasking, especially when those tasks are complex and unfamiliar.

And when we try to multitask, we don't think straight. I've just spent an hour debugging something that should just work, because the logic in my taxonomy term source plugin was based on a piece of confusion that now seems obvious and stupid. For reference, in Drupal 6, the 'term_node' table connects nodes with the taxonomy terms they're tagged with, and vid refers to the node revision ID, whereas the 'taxonomynode' table connects terms with their related taxonomy node, and vid refers to the vocabulary ID.

The bad news is that the mappings from nodes to taxonomy terms aren't being migrated properly - for some strange reason they're being registered correctly, but all the rows are being ignored.

The good news is that the work in progress is now online for the world to see. For one thing, it's easier to do cross-browser testing that way, rather than faffing around with virtual machines and proxy tunnels and all that sort of nonsense.

So please, have a look, and if you spot any bugs, let me know by creating an issue on the project board.

Tags:  Drupal Drupal 8 The Gallery Guide All tags
Catégories: Elsewhere

Drupal Console: Drupal Console by the numbers

mar, 03/05/2016 - 10:22
In this blog post, we will explore some interesting numbers related to the development of this project, between the first commit at Aug 28, 2013, and the day of writing this blog post, May 3, 2016. Keep reading to find how much time had been invested in development, how many tagged released we have done, the number of awesome contributors and number of downloads for this project between others.
Catégories: Elsewhere

Commerce Guys: Sprint with us on Commerce 2.x at DrupalCon New Orleans

mar, 03/05/2016 - 06:10

Three months ago Commerce Guys separated from Platform.sh to refocus the business around Drupal Commerce. Even as a three-person team (we're now four - welcome, Doug!), we worked hard to dedicate Bojan completely to Commerce 2.x in anticipation of DrupalCon New Orleans. As I discussed in the most recent DrupalEasy podcast, this resulted in great progress both for Commerce 2.x and for Drupal 8 itself. (It also kept us near the top of the most prolific contributors to Drupal. : )

While we're preparing to present the latest in Drupal Commerce in our session at 10:45 AM on Thursday, we're also getting ready to sprint on Commerce 2.x the full week from our booth. This will be our first opportunity to jam on code as a full team since our spinout, and we'd love to have you join us.

Look for us near the permanent coffee station (intentional) beside Platform.sh and Acro Media, our delivery affiliate in the U.S. whose partnership and vision for enterprise Drupal Commerce have been invaluable as we've rebooted our business.

If you'd like to get up to speed on the current status of development, we recommend the following resources:

Naturally, we're happy to help anyone begin to contribute to Drupal 8 / Commerce 2.x. Bojan has mastered the art of integrating developers from a variety of agencies of all skill levels into the development process so far. For an espresso or a Vieux Carré, he may even train you, too. ; )

Catégories: Elsewhere

Doug Vann: FYI: Not going to DrupalCon New Orleans 2016

mar, 03/05/2016 - 02:13

As DrupalCon New Orleans gets closer, I'm getting asked more frequently if I'm going. I'm honored to have so many hit me up and ask my directly via Twitter, LinkedIn, Skype, Google HangOut, etc.

The answer is NO. And here's why...
Business is going super-dee-duper well and I can barely breathe. I haven't mastered the art of saying NO to new gigs, so that leaves me stretched thin and working long hours. Disappearing for a week would NOT fit well into that scenario. Going to NOLA would cost me not only the $2.5K to $3K of the event, but almost that much again in lost billables. If I don't do billable things, I can't send invoices. The work I would miss could not be made up later. Those dead hours would never see the light of day again.


Is there an ROI on these Drupal trips?
I have attended 7 North American DrupalCons from 2008 to 2014. It cost a lot of money, but I am absolutely and thoroughly convinced that the ROI is incalculable. Serously... Many of the relationships I have today within the Drupal community can be traced to a DrupalCon wether it be in a session, in the hallway, in the exhibit  hall, in the hotel lobby, or at any of the numerous partys. There is no doubt in my mind that I wouldn't have the thriving business I have today had I not gone to 7 DrupalCons and many other events. In the Drupal Community, personal relationships often lead to business relationships either firectly or via referal!
I missed last year [and blogged about it] because my wife and I were closing on our first house purchase and it was taking longer than anticipated. Not to mention I was also swamped in work at the time. 

See you next year?
That is very possible. I hate the idea of missing a 3rd PreNote! And I definitely miss seeing all my friends and engaging the amazing networking opportunities. We'll see. :-)

Drupal Planet

View the discussion thread.

Catégories: Elsewhere

Hook 42: Lots of Multilingual Drupal at DrupalCon New Orleans!

mar, 03/05/2016 - 00:35
Monday, May 2, 2016

If you are interested in multilingual Drupal development, DrupalCon New Orleans is the place to be. :)

There are 5 events we've got our eyes on, so you might want to put them on your schedule too. It would be great to see some familiar faces and even better to see some new ones!

 

Multilingual BoFs

Multilingual Digital Experience Management

Tuesday May 10th from 11am to 12pm  |  tdc-pdm (GlobalLink)  |  Room 291

This Birds of a Feather discussion aims to cover digital experience management for multilingual sites including technologies and processes for making things smoother.

Multilingual Successes and Failures

Wednesday May 11th from 1pm to 2pm  |  smithworx (Lingotek)  |  Room 287

We will laugh and cry together as we share stories and tips on dealing with multilingual configuration in Drupal. Maybe bring some tissues if you have been working a lot with multilingual in Drupal 7!

Multilingual Sessions

Drupal 8's multilingual APIs -- integrate with all the things

Wednesday May 11th from 3:45pm to 4:45pm  |  Gábor Hojtsy (Acquia)  |  Room 260-261

If you will be creating modules, themes, or distributions in Drupal 8, then this is a talk you won't want to miss so you can make sure your code leverages all the core multilingual goodness.

The Multilingual Makeover: A side-by-side comparison of Drupal 7 and Drupal 8

Wednesday May 11th from 5pm to 6pm  |  Aimee & Kristen (Hook 42)  |  Room 260-261

If you create multilingual websites or are interested in what's all the hub-bub on how Drupal 8 is so much better than Drupal 7 for language support and translation, come check out this beginner-friendly session. If you find us after the talk, we'll give you some multilingual Drupal stickers. :)

Multilingual Sprints

Saturday May 7th to Sunday May 15th | Locations Vary Depending on Day

A contribution sprint is when the community comes together to work on core and contrib/community issues in the drupal.org issue queue. They are a lot of fun, and you learn a lot too. There are two multilingual-related sprints in New Orleans: Multilingual Migrations and Multilingual (General).

Even if you have never sprinted before, you are encouraged to attend. There is a place for all types of contribution including coding, theming, documentation, testing, UX, and review.

If you have never sprinted before, there is a First Time Sprinter Workshop to get you started with the right tools and then you can move onto the Mentored Core Sprint once you are ready.

If you have sprinted before, come to the general sprints! And, don't forget to sign up here so we make sure there is enough space:

https://docs.google.com/spreadsheets/d/1dwk4PaCqbEWEPlVl3bWsaJcguMlPg7gcDk1mEk2qggo/edit#gid=0

For those sprinting on multilingual issues, we have a special multilingual t-shirt for you. Tweet at us or contact us if you want to reserve one. And, if you have sprinted on multilingual issues in the past but don't have a shirt, let us know so we can set a t-shirt aside for you too.

Multilingual Swag

Monday May 9th to Friday May 13th | Hook 42 & Lingotek | In Person and Booths 501 and 617

We'll have our coveted multilingual Drupal "hello" stickers as well as their new counterpart: "Bye!" Stop us in the hallway, swing by after one of our sessions, or stop by Booth 501 in the exhibit hall to get your swag.

If you are in need of a cool multilingual t-shirt, sprint with us (see above!). And, there are also the pretty awesome Lingotek "Tron" style glow-in-the-dark shirts at their booth (617).

If you are giving away multilingual swag, let us know and we'll add you to the list.

We hope to see you at one of these BoFs, sessions, or sprints… or maybe all of them!

Know of other fun multilingual happenings? Leave a comment or contact us.

Aimee Degnan Kristen Pol Topics: Services:
Catégories: Elsewhere

Cocomore: DrupalCamp Spain: Granada 2016 – We were there!

mar, 03/05/2016 - 00:00

Each year, a different location is picked for the DrupalCamp in Spain. The last one took place in the beautiful city of Granada. Like many times in the past, part of Cocomore’s team travelled there to attend this event and to learn from the interesting talks concerning Drupal, PHP development and tech in general.

Catégories: Elsewhere

DrupalCon News: Training Spotlight: Beginner Level Courses

lun, 02/05/2016 - 21:53

Are you new to Drupal and eager to advance your skills? Or evaluating Drupal to see if it works for you? Take one of our beginner-level training courses on Monday to get up-and-running with Drupal and fully prepared for your week at DrupalCon.

Catégories: Elsewhere

Four Kitchens: Performance at DrupalCon New Orleans

lun, 02/05/2016 - 19:04

With DrupalCon New Orleans right around the corner, Web Chef Emeritus Ian Carrico wanted to share some of the front-end performance sessions that will be featured during DrupalCon.

Catégories: Elsewhere

myDropWizard.com: Connect with myDropWizard at DrupalCon New Orleans!

lun, 02/05/2016 - 19:04

Next week Drupalers from all around the world we be descending on the beautiful city of New Orleans for DrupalCon 2016 - and myDropWizard will be there too!

If you've never been to a DrupalCon - you're missing out. It's an opportunity to meet the Drupal people you know virtually, be surrounded by a dizzying amount of Drupal knowledge, and get inspired and excited for the future of Drupal. Watching the videos is great, but I'd argue that you can learn more by asking someone in the hallway or attending a sprint.

Anyway, there's lots of great articles about why you should attend DrupalCon - I'm not going to attempt to rehash that all here. :-)

But if you're coming, I am going to try and encourage you to connect with myDropWizard while you're at DrupalCon New Orleans!

Both myself (David Snopek) and myDropWizard co-founder, Elliot Christenson, will be there. If you're interested in ...

... then come and find us!

Catégories: Elsewhere

Urban Insight: Redesigning a site as a long-term project

lun, 02/05/2016 - 18:00

One of the earliest sites developed by Urban Insight is planetizen.com. It still remains one of biggest sites that we actively develop and maintain. When the site was upgraded from Drupal 5 to 7 a few years back we had to plan and implement a full content migration. That is, we built a brand new Drupal 7 site from scratch and migrated all data and settings from the Drupal 5 site.

Catégories: Elsewhere

Sooper Drupal Themes: Drupal Drupal CMS 1.0 and Glazed Premium 2.4.8 Arrived: Cool New Features and Better Views Integration

lun, 02/05/2016 - 17:48

Glazed Drupal CMS 1.0

After over 100 git commits over 4 weeks, including weekends and late nights I can present to you Glazed 2.4.8. This release includes not only an update to the premium Drupal theme and the drag and drop builder: the Glazed Drupal CMS distribution on drupal.org finally reached the 1.0 milestone! The backend distribution started as an experiment 2 years ago. I tried to find the perfect bundle of features to jump-start development of Drupal CMS websites.After nearly 100 beta releases I finally settled on the formula for features and flexibility that is now in the Glazed Drupal CMS 1.0 release. To make the distribution truly useful, it of course had to have a beautiful theme, and the distro now includes a free slimmed down version of our best-selling Glazed framework theme: Glazed Free.

Glazed Drupal CMS 1.0 Features
  • Fully Loaded WYSIWYG Editor
  • Built In Media Library
  • Glazed Free Theme included
  • Multilevel Responsive Main Menu
  • Blog Content & Views
  • Portfolio Content & Views
  • Event Content & Views
  • Event Registration
  • News Content & Views
  • Bootstrap 3 integrated
  • SEO Optimized
  • Demo Content Included

    Glazed Drupal CMS on Drupal.org

    Glazed 2.4.8 Comes with a ton of improvements, bug fixes and shiny new demo pages!

    Glazed 2.4.8 Release Highlights

    Search all the things!

    Full screen search is a really exciting new UI feature in Glazed. Search is becoming a key factor in navigation on increasingly large and dynamic websites. Thanks to our full screen search design you can provide a unified search experience no mobile and desktop. The search feature is based on Drupal's core search, with just a theming and behavioral overlay by Glazed. This means you can use all your favorite search modules and plugins along with our full screen UI.

    We added this search enhancement with the goal of powering larger, more dynamic sites. If you have any ideas to further improve our search be sure to hit the comments! (One thing I'm looking at is using the Fast Autocomplete fac module).

    View Full Screen Search demo

    Stunning Animations At Your Fingertips

    It has never been easier to create stunning animations. We added a new demo page to to showcases our newly added floating animation. This page is also great for learning how you can use animations and apply in your own projects. If you are interested in our improved animation features check out the animation page. If you want to try the animation engine, to spin up a private demo at trysooperthemes.com.

    My goal at SooperThemes is to strike a balance between features, performance, and usability. I actually cut the animate.css library in half, because it had some many animations that are just ridiculous and have no place in a professional product. I then added the custom floating animation for our new Apple style demo page and the whole animation library clocks in at just 4kb. It only loads on pages with animations, because we care about performance.

    View Animation Demo Page

    Enjoy easy animations for callouts, meaningful content enhancement or simply to impress your client or improve website visitor engagement. Or just for fun, but don't overdo it.

    GridStack Views: Stack Your Featured Content

    We've been working on features that will be used for our future Magazine designs for Glazed. This is one of them. Using the GridStack JS library and our easy to use Views integration, you can create dynamic "stacks" of your most important content. The views plugin gives you total control over layout, gap size, colors, all inside the Views module. You can use it for homepage headers, footers, or even for a full-page gridstack with all your content!

    This is one of those little features that make your content more fun to interact with, and more personalized.

    Creating custom stacks:

    View GridStack Module Page

      Carousels For All Content

    There are 2 kinds of sliders in our Carbide Builder drag and drop tool. This first is a Bootstrap based simple image slider. Then There is the Carousel Element, which is like a swiss army knife of sliders. It will do regular sliders, fading sliders, carousels, and more. It will slide anything you throw at it, including videos, images, and HTML content with layouts.

    The Carousel element gives you the awesome power of the Owl Carousel library at your fingertips. Here is an example slider that I created by copying the Position Elements container demo contet in 2 slides:

    View Carousel Demo Page

    View Positioned Layers Demo Page

     

      Improving Drupal Views Integration

    The most exciting improvements in 2.4.8 to me are all in the Views integration. We tested and improved exposed filter integration. The awesome power of views' exposed filters and sorting is that unlike with contextual filters you get a human-friendly form that allows you to personalize the view. When exposing a category filter, you get a nice hierarchical selectbox to choose a category. When you want to expose  something more massive like a node:author field you can use an autocomplete field.

    The power of views integration will become more obvious when we start release magazine designs for Glazed. Keep an eye on the blog/newsletter!

    New Pages in the Glazed 2.4.8 Main Demo

    All new and updated demo pages:

    For a complete list of changes check out the Glazed and Carbide Builder changelogs:

    CHANGELOG Glazed Theme
    CHANGELOG Carbide Builder

    Improving Drupal's Distribution Experience

    Since Distribtuions were announced as a feature for Drupal I thought it was a great idea, and now SooperThemes is working on making distributions even better. I think we are the first distribution to have a custom build option but that is just the beginning. We are currently testing Auto-Deploy & Install tools that we've been working on for 4 months. (Think fully automatic deployment and installation on your server or even shared hosting).

    Bonus GIF

    Here's a GIF image of our completely re-architected multi-level responsive main menu:

    Limited Time Offer


    Active for a very limited time!

    Join SooperThemes Today!

    To upgrade your existing account click your subscription in the sooperthemes.com toolbar and choose Add Plan or Change Plan.

    Have a great day!

    Catégories: Elsewhere

    Drupal Association News: Make it official with your certificate of membership

    lun, 02/05/2016 - 17:07

    Today we begin our first membership campaign of the year. It’s all about making your contribution official with a personalized certificate of membership.

    In our 4th year of running this campaign, we hope that you will help us by either joining the Drupal Association or by letting others know about this opportunity. Members who join or renew from now through June 30 will be sent a certificate. Our goal is to send 675 certificates, which is a 10% increase from last year’s final count.

    Make it official

    It wouldn’t be fun if we did not have some challenge for our members, however. So here it is: if you refer 5 or more members to us during this campaign, we will give you a shoutout on this blog and on Twitter. If your company refers 5 or more members during the campaign, we’ll publicly acknowledge your company as well. (When you refer someone, tell them they can mention you when they sign up.)

    We love the creativity of the Drupal community and we look forward to seeing how you share about this campaign. If you are a member and you want your certificate so you can do something fun like this, just ask and we’ll send it to you.

    Thank you! RT @DJRitendra: @DrupalAssoc Glad To be part of #DrupalAssoc :) #Drupal @DJRitendra pic.twitter.com/fVaBA5MGPI

    — Drupal Association (@DrupalAssoc) June 3, 2015

    Thanks for your support! RT @GambinoVin: My Certificate of membership! @DrupalAssoc @brightlemon pic.twitter.com/CyFqhgZNZF

    — Drupal Association (@DrupalAssoc) June 12, 2015

    Personal blog tags: Membership
    Catégories: Elsewhere

    Larry Garfield: Moving to a new Platform

    lun, 02/05/2016 - 16:02

    After my last post, a number of people asked if I was leaving Drupal all together. Perish the thought. :-) However, after a decade at Palantir.net and the five-year Wagnerian Saga that was the Drupal 8 development cycle (complete with singing), I have been asking myself "What next?"

    Well, what do I like to do? I like to build. I like to teach. I like to make things better. I like to work with smart people, as colleagues, as community partners, and as customers. I want to be able to have an impact in making something better for other people.

    To that end, I am pleased to announce that today is my first day as Director of Runtimes, Integrations, and Services for Platform.sh.

    read more

    Catégories: Elsewhere

    Drupalize.Me: Dig into Drupal 8 at DrupalCon

    lun, 02/05/2016 - 15:15

    DrupalCon is almost here and it’s time to start filling out your schedule. There’s a lot to do and see (not to mention eating lots of great New Orleans food!), so we definitely recommend having at least a rough game plan for how to use your time. Here’s a look at things you should be considering, especially if you are looking to take away a lot of Drupal 8 knowledge.

    Catégories: Elsewhere

    Flocon de toile | Freelance Drupal: Drupal 8 : Inject a contact form inside a content type in 5 steps

    lun, 02/05/2016 - 15:07

    How to insert a contact form inside a content Drupal 8? Or on a specific page in a specific location ? By default, contact forms created have a dedicated page. But if we want to use them elsewhere. After some research, I almost thought I should write a few lines of code to create a specific Plugin.

    But contact forms, like almost everything now in Drupal 8, are entities. Finally, place a contact form, or any other form besides, is a simplicity that had eluded me until now.

    Catégories: Elsewhere

    Pages