Feed aggregator

NEWMEDIA: NEWMEDIA's Site Development Process (SDP)

Planet Drupal -

NEWMEDIA's Site Development Process (SDP)At NEWMEDIA we have spent a great deal of time perfecting our site development process. Through many trials and errors we have converged on a SDP that works for us.

When working in a team or in an environment where your code and systems are going to be used by people other than yourself, it is especially important that your site development process is clear, simple, and easy to understand. This, of course, is easier said than done when developing a complex Drupal site. However, when our developers, site-builders and themers are all on the "same page" with code organization and philosophy we are a more effective and efficient team.

After speaking with members of the Drupal community, we believe it is time to start a discussion on how to have a process in place so as to minimize the friction when developing in a team/cooperative environment. In an effort to deep dive into our process this article will be the first in a series of articles discussing our SDP.

A lot of our SDP revolves around how to organize your code so that a developer or site-builder can quickly on-board to a project and larger teams can work together with minimal down-time. The broad pieces of our SDP are:

  1. Everything is in code.
  2. Sites are built using install profiles and the install profiles have a specific directory structure.
  3. Install profiles use Drush Make to capture dependencies on external modules, themes, and libraries.
  4. Drupal migrate is used to populate test content during the development phase. (optional)
  5. Features are used to capture site configuration. (optional)
  6. While a site is in development all functionality must be present after a fresh site install.
  7. After a site goes live update hooks can be used to enable new functionality on the production site.
  8. Use a virtualized environment which mirrors production. (recommended)

 

What do you think?

Do you have an process expressed or implied? Leave comments below and lets keep this conversation going.

Unlimit your business with Google Drive for Work

Google Enterprise Blog -

Posted by Scott Johnston, Director of Product Management, Google Drive

The workplace is full of files that capture your best ideas or your team’s most productive collaborations. But those files aren’t useful if you’re unable to access or share them effectively. That’s why, just two years ago, we introduced Google Drive. Today more than 190 million people actively use it at home, school and work. Drive keeps all your work safe, and makes it available everywhere and easy to share. Companies around the world like Crate & Barrel, Seagate, Tory Burch, HP and Jaguar Land Rover rely on Drive to work faster and collaborate better with their coworkers and customers.

But we’ve also heard from businesses that they want more control and security, visibility into how files are shared, and a product that will grow with them. So we’ve been working to make Drive even better for business, and today at Google I/O we announced Google Drive for Work — a new premium offering for businesses that includes unlimited storage, advanced audit reporting and new security controls for $10/user/month.

More control, more visibility
Google Drive for Work combines the familiar storage, sync and share experience of Google Drive with new admin controls, advanced file audit reporting and eDiscovery services. New fine-grained controls let admins customize the Drive experience, such as which employees can install the desktop sync client. With the new audit view you can see activity like moving, deleting or sharing a file within or outside the company, and an audit API will also be available for developers. Google Apps Vault, our solution for search and discovery for compliance needs, is also included with Drive for Work, expanding to cover all content stored in Drive, including Docs, Sheets and Slides, as well as any other file type.
More than enough space for all your work
Every year companies create more data than the last, adding megabytes, gigabytes and terabytes. Well, today, we’re taking bytes out of the conversation. For $10/user/month, businesses get unlimited storage for all their employees and can store files up to 5 TB in size (To put that in perspective, no desktop or laptop on the market today even has a hard drive big enough to capture and store a file that size).

More security
As of today, all files uploaded to Google Drive will be encrypted, not only from your device to Google and in transit between Google data centers, but also at rest on Google servers.

More productivity
Some of the most common file types stored in Drive are Microsoft Word, Excel® and PowerPoint® files. We’ve now built the power of Quickoffice into Docs, Sheets and Slides, so you can open and edit those documents in their native format using Office Compatibility Mode directly on Android and Chrome browser today, and coming soon to iOS. No need to buy additional software or decide how to open your file. Editing Office files is just a click or tap away from Drive on your computer, tablet or phone.
Ready for your business, available today
Google Drive for Work includes the benefits and guarantees of Google Apps for Business, like 24x7 phone support and a 99.9% uptime guarantee. You also get access to all of Google’s productivity apps like Docs, Sheets, Slides, Sites and Hangouts, so you collaborate in even more ways. Drive for Work also offers enterprise-grade security and compliance, including a SSAE 16 / ISAE 3402 Type II, SOC 2-audit, ISO 27001 certification, adherence to the Safe Harbor Privacy Principles, and can support industry-specific requirements like HIPAA.

Drive for Work is available globally, today. If you’re a current Apps customer you can upgrade from the Admin console to get new features like unlimited storage. If you’re new to using Google at work you can learn more about Google Drive for Work on the web, or contact us for more information.

Average Nonprofit Spends 3.2% of Budget on Technology, Report Says - Technology - The Chronicle of Philanthropy- Connecting the nonprofit world with news, jobs, and ideas

AFP Blog -

Average Nonprofit Spends 3.2% of Budget on Technology, Report Says - Technology - The Chronicle of Philanthropy- Connecting the nonprofit world with news, jobs, and ideas: The average nonprofit technology budget accounted for 3.2 percent of total annual organizational spending, according to a new report.

Drupal core announcements: July 12-13, 2014 Asbury Park, NJ core sprint

Planet Drupal -

On the weekend of July 12-13, 2014 the Central NJ Drupal Group held a core sprint focusing on the upcoming release of Drupal 8. The sprint was attended a great group of Drupal enthusiasts from Chicago, Montreal, New York, Virginia, and of course New Jersey. We took over the Cowerks coworking space in Asbury Park, NJ for the two days and it provided us a fun space to work the day and night away on a variety of issues.

With only seven beta blockers remaining at the time of our sprint, two were on the top of our list of items to work on. Fifteen people participated in person, and the group made progress on two beta blockers (leading to core commits) as well as many other issues.

See the full recap for more details on participants, issues worked on and completed, and a photo gallery.

Better Business Bureau serving Eastern MA, ME, RI & VT improves productivity with Chromebooks and Chromeboxes

Google Enterprise Blog -

Posted by Lisa Ventura, Vice President of Accounting and Administration, Better Business Bureau

Editor's note: Today’s guest blogger is Lisa Ventura, Vice President of Accounting and Administration for the Better Business Bureau serving Eastern Massachusetts, Maine, Rhode Island, and Vermont, a non-profit organization that services businesses and consumers in the community.

The Better Business Bureau (BBB) has a real mix of in office and telecommuting staff. As a busy non-profit, technology is forefront of our organization and, like a lot of Better Business Bureau offices around the country, we don’t have an IT department, which adds to the challenge of keeping information both secure and accessible. If someone needs tech help, I put on my IT hat (as does Kevin J. Sanders, our CEO), and configure new computers or update software. Juggling the IT responsibilities can be difficult during busier times of the year.

That is until we decided to bring 35 Google Chromebooks and Chromeboxes for Business at the BBB. Almost overnight, we reduced the time we spent handling IT tasks like software updates and patches, and worrying about security concerns. We’ve already seen firsthand how Google can help our business — we were early adopters among BBB offices of Google Apps for Business (about 30% of BBBs nationwide now use Google Apps), and we love collaborating on documents and managing our emails, which Google Apps has made so simple.

Chromebooks and Chromeboxes give us even more freedom and help us lock down the security of information. The devices run on the Chrome operating system and software is updated automatically on each device. Security is built into the Chromebook in multiple layers, such as sandboxing and data encryption, so we can rest easy knowing that malware can’t get very far. Using the Chrome management console we can preload the apps that we want employees to use and restrict downloads to only those applications employees need for working with consumers and Accredited Businesses. Not only are we greatly reducing IT issues, we have saved roughly $900 per seat by purchasing Chromeboxes versus computers with added software. With a staff of approximately 50 people, that savings really adds up.

Using Google Apps for Business eliminated the need for email and document servers, instantly saving BBB the cost of maintaining those devices. It became easier to share documents and track user changes, instead of emailing those documents back and forth as attachments. Plus, the ability to have Google Apps anywhere you are, allows our remote workers to always have information at their fingertips. Moving off our Windows-based desktops and laptops onto Chromebooks and Chromeboxes made perfect sense after seeing so much success from switching to Google Apps for Business.

We’re in the process of expanding beyond our original order of 35 devices and switching out all of our desktops and laptops to Chromebooks and Chromeboxes – a huge benefit for our busy organization. In fact, we’ve become such experts at adopting Google technology that other BBB offices in North America are coming to us for advice on Google Apps and buying up Chromebooks and Chromeboxes for Business

Appnovation Technologies: 3 Reasons Why Drupal Integrated Well With Other Tech

Planet Drupal -

Apart from having a friendly user interface, Drupal also serves as a front-end for many of the technologies, frameworks and APIs. Besides the numerous advantages Drupal has, it also allows developers to make use of other technologies outside of the Drupal platform: MuleSoft, Alfresco, Ruby on Rails, AngularJS, and Python are among the technologies that can easily be integrated with Drupal. var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});

Acquia: New Cloud Features & UX Improvements

Planet Drupal -

Acquia is constantly working to improve our service offerings, and that means cleaning up existing features and adding new ones that we know will make a big difference in people’s workflow for the better. Despite the scale of some of these improvements, they’re not always immediately visible at first glance, so I’ve taken a bit of time to highlight three recent ones.

DrupalCon Amsterdam: Growing the Community & the Project Through Grants, Scholarships, and Mentoring in Amsterdam

Planet Drupal -

Grant and scholarship recipients have been selected for DrupalCon Amsterdam. We had a huge number of wonderful applicants, and selecting our grant and scholarship recipients was a challenge.

For applicants seeking grants, we focused on the importance of each candidate to the Drupal project and code as a whole. Scholarships, meanwhile, were awarded based on the impact or influence on the Drupal community and Drupal adoption that the person would have at their home region— though these were just a few of the many factors taken into account during the selection process.

We’re please to announce the following grant and scholarship recipients below:

Grant Recipients
  • Nathaniel (catch) Catchpole - United Kingdom
  • Larry (Crell) Garfield - United States
  • Dave (Dave Reid) Reid - United States
  • David (David Hernández) Hernández Ruiz - Spain
  • Dan (dcmul) Mulindwa - Uganda
  • J Branson (j.branson) Skinner - United States
  • Joël (joelpittet) Pittet - Canada
  • Jose (Jose Reyero) Reyero - Spain
  • Jeremy (jthorson) Thorson - Canada
  • Kalpana (kgoel) Goel - United States
  • Patrick (patrickd) Drotleff - Germany
  • Brian (realityloop) Gilbert - Australia
  • Ricardo (ricardoamaro) Amaro - Portugal
  • Sébastien (SebCorbin) Corbin - France
  • Shyamala (Shyamala) Rajaram - India
  • Janez (slashrsm) Urevc - Slovenia
  • Evgeniy (Spleshka) Maslovskiy - Belarus
  • Tim (stpaultim) Erickson - United States
  • Kristof (swentel) De Jaeger - Belgium
  • Yves (yched) Chedemois - France
  • Zsófi (zsofi.major) Major - Hungary
Scholarship Recipients
  • Aldibier (aldibier) Morales - Colombia
  • Alvaro (alvar0hurtad0) Hurtado - Spain
  • Andrey (andypost) Postnikov - Russian Federation
  • Carlos (camoa) Ospina - United States
  • Luis Eduardo (edutrul) Yelaya Escobedo - Peru
  • Grzegorz (grzegorz.bartman) Bartman - Poland
  • Konstantin (konstantin.komelin) Komelin - Russian Federation
  • Weber (Mac_Weber) Macedo - Brazil
  • Ivan (rootwork) Boothe - United States
  • Tanay (saitanay) Sai - India
  • Shabana (Shabana Blackborder) Navas - India
  • Tarek (tarekdj) Djebali - Tunisia

Congratulations to all of our grant and scholarship recipients! We'd also like to extend a big thanks to our selection team: Emma Karayiannis (UK) Bart Feenstra (NL) Mike Anello (US).

We’re excited to see all these great people at DrupalCon Amsterdam, and can’t wait to learn from them and make the project even better. When you see our grant and scholarship recipients around volunteering at the event or mentoring new sprinters, give them a high five for being amazing! And regardless of whether you’re receiving financial assistance or not, if you’re coming to DrupalCon, you can share you knowledge and help make Drupal even better too by signing up to become a mentor.

Growing the Drupal project can’t happen if our community doesn’t grow, too— and there’s no better way to help grow the community at DrupalCon Amsterdam than to give back by teaching new skills and ideas to basic, intermediate, and advanced Drupalers.

orkjerns blogg: Now running Drupal 8, in the most hipster way imagined.

Planet Drupal -

Now running Drupal 8, in the most hipster way imagined.

It has been a weekend in the spirit of headless Drupal, front-end optimizations and server side hacks. The result is I updated my blog to Drupal 8. Since you are reading this, it must mean it is live.

First let's start with the cold facts (almost chronologically ordered by request lifetime):

Other front-end technologies used that does not directly relate to the request itself:

So, HHVM, huh?

Yeah, that's mostly just a novelty act. There is no real gain there. Quite the opposite, I have added some hacks to get around some limitations.

HHVM does not work very well with logged in users right now, but works alright for serving anonymous content.

When I reload and look at the source code, there is no css loading. WAT?

Yeah, I am just assuming you remember the styles from last page load. Also, I have made it an image to have a 1 HTTP request CMS, right?

No, really. How does that work?

The real magic is happening by checking if you as a user already have downloaded my page earlier. If you have, I don't need to serve you css, as far as I am concerned. You should have saved that last time, so I just take care of that.

OK, so you use a cookie and save css in localstorage. Does that not screw with the varnish cache

Good question. I have some logic to internally rewrite the cached pages with a key to the same varnish hash. This way, all users trying to look at a css-less page with the css stored in localstorage will be served the same page, and php will not get touched.

What a great idea!

Really? Are you really sure you have thought of all the limitations? Because they are many. But seeing as this is my personal tech blog, and I like to experiment, it went live anyway.

Give us the code!

Sure. The theme is at github. The stupid cache module is at github. Please be aware that it is a very bad idea to use it if you have not read the code and understand what it does.

And since I am feeling pretty bad ass right now, let's end with Clint Eastwood as an animated gif.

Tags:

Berliners blog: Showcase: Art market

Planet Drupal -

The last months I was busy with a friends art project. Today I'm very happy to announce that it went public on july 15th and is doing good so far.

Jule, the founder of Port of Art, approached me last summer, asking if I could help her building an online market place for artworks. Working primarily as a freelance Drupal developer, knowing that her budget is tight and that she is certainly not the first one with this idea, I hesitated. But I gave it a thought and after several meetings I agreed. I liked the idea and I liked Jules approach, that is very trusting and positive without being naive. I like good people ;) She also gave me the impression of being able to value constructive input, even if it means to change previous ideas. That is a good feature in clients!

Basic ideas with a special flavor

The basic requirements were pretty simple:

  • Content management for static content pages as well as for special content like the artworks that are sold on the site
  • Search artworks by different filters
  • Legal compliant checkout process
  • Integration of external payment providers (limited to paypal for the moment being)
  • Contact forms
  • Multilingual content and communication
  • Integration of social media
  • Some map views for geo visualization
  • SEO, customizability, ...

So far that was relatively straight forward and we all love Drupal for that.
But there were some special requirements too, that had a huge impact on my choice of modules to realize this with.

  • Artworks don't integrate with a basic warehouse approach. Each one should be unique and can be bought only once. Therefor there was no need for a shopping cart either.
  • Artworks can be bought for a fixed price or as an auction.
  • Artworks under a certain price are not sold via the site, but instead the customer and the artist are put in touch directly and have to figure out the details independently of the platform.
  • Artists should be able to upload their artworks, pay a fee to get them published and than manage the selling and delivery on their own.
  • Artworks expire after a certain time that depends on the publishing fee that the artist is willing to pay.
  • Once an artwork has been sold on the site, an additional fee has to be paid.
  • Fully customizable e-mails

The main content is obviously the artwork. This is a node type with additional fields to represent attributes of an artwork. Then there are static pages, artschools, faqs and webforms. On the user side we have two frontend user roles for customers and artists that get enhanced using the Profile 2 module.

Additional considerations

The situation that our development team was faced with: Small budget, tiny team (only 2 people), the project's concept still a little in the flux. The founder had no technical background or previous experience using Drupal but needed a customized shop system that she could actually manage after we finished the project and went on to other things. So one of the goals during development has always been to make things configurable. Special text at a certain page? Build a setting for that. A special criterion that controls logic during checkout? Don't hardcode it somewhere! Build a setting for that as it might change later and you don't want to change code for simple things. I love drupal for it's easy variable management and quick form building capabilities. Building an admin form to control certain behaviors takes rarely more then 10 minutes. Obviously there are things that you can't build that way, but when you can, do it. I feel much butter with it and the client loves it too because it gives him control.

Conception and development process

One of the things I knew before, but that got confirmed again: Communication is the key. The client has never did a web project before. That meant that certain good practices and workflow, concerning the development process as well as the final product, were not clear to her. So we (the designer and me) spend a good amount of time helping her figure out what was realistic and which compromises needed to be done in order to deliver the product without cost explosion or an exagerated time frame. Being honest and communicating potential problems early on, as well as the clients openness towards constructive input, was something that attributed a lot to the perceived quality of the development process. Including the client in the development and design decisions also allowed us to educate her on the technical aspects of the product and raise awarness about technical implications, making her see advantages and restrictions in different areas that she didn't consider in the beginning.
We didn't formalize the process, but we ended up with some kind of agile development with three distinct roles: Conception and design by the client, frontend by the designer and backend logic and architecural design by me. That worked very good for us.

Obvious modules that we still didn't use

First, there is Rules. A crazy wonderland for workflow configuration that amazes me every time I look at it. But I've almost never used it. Call me old fashioned, but when business logic or complex relations must be build, I prefer to build them on my own. I want as much logic as possible in the code, not in the database. So for all the power Rules provide, I still prefer not to use it.

Then there is Commerce. We have never build a real-world website with it, so our experience was very limited. We thought about it. Very seriously. Then we decided against it. From todays perspective that was probably an error. But given the special requirements we were afraid of having to spent too much time customizing and altering the workflow that commerce proposes. This was more of a gut feeling. And at the end I'm not sure it was the right decision. We ended up with conceiving and building a full fledged product management incuding the purchase logic and payment. The obvious advantage when you write something like this on your own, is that you have a lot of fine grained control about flow and design. But the price is pretty high considering the amount of time necessary. At the end we have a considerable code base that needs to be maintained. So next time, I hope I'll remember this an give commerce a more in depth examination regarding the potential for the problem at hand.

Crucial contrib modules / add ons

It's hardly necessary to mention, but we couldn't have build the site so easily without the usual candidates: Views, Webform, Better Exposed Filters, Address Field, CTools, i18n, References, Profile 2, Geofield, Global Redirect, Libraries, ...

The fantastic wookmark jquery plugin is responsible for the display of the central search component of the site. Our designer loves it!

Some modules that got born or advanced

I build MEFIBS for this site. I had a need for that functionality before, but never quite as strong as this time, so I decided to solve it as a self contained module instead of hacking things together. Though there are some problems currently with a few new features that I added recently, it is already in production and doing pretty well. Have a look at the filter and sorting blocks on the artwork search page: . Two independant blocks without duplicating a views display or intensive custom form altering. That's pretty neat.

Hopefully the jQuery Update module will also profit. During development I ran into issues with the admin version feature introduced here: https://www.drupal.org/node/1524944. I wrote about it in jQuery version per theme. This resulted in a feature patch that is currently on a good way to get committed soon.

I also found a bug in the PayPal for Payment module: https://www.drupal.org/node/2052361 that will hopefully get fixed soon.

Another module I find myself using often is my sandbox module Mailer API. It's a bit cumbersome to use as a developer, but for the client it's perfect. She can customize practically every mail that will be send by the system. It's all on a single configuration page and supports multilingual setups. A test mail feature is also included to see what mails will look like. And a batch mailer that the client often uses to address a bunch of people. It's like very easy home made promotional mails in a consistent look and feel. Made the client happy.

For frontend eye candy we have build a jQuery plugin that is responsible for the collapsible checkbox filter elements in the left side bar.

Some module discoveries

During the work on www.port-of-art.com I found some modules that I didn't know before.

The Form API Validation module allows you to simplify validation rules in custom forms, using predefined validation rules. And you can also add your own rules which we used for the price entry validation needed when artists publish their artworks.

The Physical Fields module provides fields for physical dimensions and for weight attributes. That was exactly what we needed for physical goods. It saved us the time to configure fields in field collections.

Conclusion

At the end of the project I can say, that everyone involved has had a good and productive time and enjoyed the process and the result. The client is happy for all the things she can do with the site. Now she can concentrate on managing business and extending marketing. The designer was happy. Even if some of the design decisions might not have been the best ones looking at the requirements profile from today. I feel positive though that the system fully matches the clients expectations and that it'll be a valuable tool for developing her business. If the site manages to establish itself, it's more than probable that we would rebuild the system, at least some substantial pieces like the shop component.

We as the site builders are happy too. We feel that we have done a good job and that we managed to keep resources and expectations in balance. I would do it again, which always feels like a good measure.

Category: Drupal Planet7.x

Pages

Subscribe to Cruiskeen Consulting LLC aggregator