Last time we talked about currencies. Now it's time for arguably one of the biggest new concepts in Commerce 2.x: stores.
Stores represent billing locations, and were made to cover two primary use cases.
Using virtualized environments for development is smart. You can create accurate replicas of arbitrary systems, safely isolated from your host OS and other development environments. The overhead, however, is significant, both in terms of system and development resources. Developers need higher-end hardware with sufficient memory and storage and the necessary skills or help to build systems.
Languages make everything so complicated! I just discovered the autocomplete bit on my reference fields wasn't working - until I tried searching by another language, and then the results gave me a surprise:
After my experiments with the iCalendar format at the beginning of 2015, including Bugzilla feeds from Fedora and reSIProcate, aggregating tasks from the Debian Maintainer Dashboard, Github issue lists and even unresolved Nagios alerts, I decided this was fertile ground for a GSoC student.
In my initial experiments, I tried using the Mozilla Lightning plugin (Iceowl-extension on Debian/Ubuntu) and GNOME Evolution's task manager. Setting up the different feeds in these clients is not hard, but they have some rough edges. For example, Mozilla Lightning doesn't tell you if a feed is not responding, this can be troublesome if the Nagios server goes down, no alerts are visible, so you assume all is fine.
To take things further, Iain Learmonth and I proposed a GSoC project for a student to experiment with the concept. Harsh Daftary from Mumbai, India was selected to work on it. Over the summer, he developed a web application to pull together issue, task and calendar feeds from different sources and render them as a single web page.
Harsh presented his work at DebConf15 in Heidelberg, Germany, the video is available here. The source code is in a Github repository. The code is currently running as a service at horizon.debian.net although it is not specific to Debian and is probably helpful for any developer who works with more than one issue tracker.
Your browser does not support the <video> tag.
Back in the olden times of the internet, we had really long static HTML pages. In order to make the page more organized, we would make a table of contents at the top, linked to the content below using anchor tags. You can still see this today in today's web. A good example is the W3's HTML5 Specification.
There are plenty of Table of Contents Drupal modules, in addition to what can be done with core's Book module, but I want to show you how it can be acheived with two displays in a single view. In this tutorial I will create a view with 2 displays that link to each other, and display them on a single page using Panels. I prefer using Views Panes in my views, provided by the Views content panes module provided by ctools.
You can also achieve the same results using Blocks, or Blocks with Context, and placing both view displays on the same page.
The result of this tutorial can be found on this demo page.
For anyone currently using the migrate_tools (drush and UI tools for managing migrations) or migrate_source_csv (CSV source plugin) submodules of migrate_plus with their Drupal 8 migration projects, a heads-up - they're being split off into separate projects.What's happening
New projects have been created for migrate_tools and migrate_source_csv. The plan is to create real (beta or RC) releases for these projects by next Monday, November 16. On that day, a release of migrate_plus will be cut that no longer contains those two modules.What do I do about it?
Ok, I have been an iPhone user since I moved to Japan and got my first smart-phone ever. First a 3s, then a 4s, then a 5s that I dropped into the toilet, so I switched the SIM back into the 4s to have a working phone. Furthermore, I am a heavy music listener and used iTunes Radio for 3 months. Since I am planning to change phones to an Android phone (being fed up with Apple’s super-closed environment), I tried out Google Music Plus for about 3 months, too. Here is my verict – Google Music is a big pain, far from iTunes in comfort and user friendliness.
My move to Android is not very much in danger.General description of the service
In principle, iTunes Radio and Google Music Subscription do the same things:
- allow you to have your own music in the cloud
- stream any music from the respective market place to your device
- provide radio stations, pre-curated or based on artist/genre/etc
There are slight differences, that often create confusion, especially with Apple’s services: If you are only signed in, you can listen to music stations and can skip some music (limited), but you cannot listen to arbitrary songs from the whole Apple Music library. Then there is another service from Apple, called iTunes Match, that only allows you to upload your music library to the cloud, but other than that again only listening to normal radio stations.
Google Music is much simpler, there are only two options: By default it is free to have your music (up to 25000 songs) in the cloud, but if you want to listen to radio stations or any other music in the Google music store, you need a subscription.
Prizes and features overview:Apple Google No subscription iTunes Match iTunes Radio No subscription With subscription Prize 0 25$/year 10$/month 0 10$/month
(early access 8$) Cloud space 0 25000 (?) 25000 Extra service Radio stations Radio stations Radio/all music Nothing Radio/all music Music on the go – the application
Let us first consider the applications provided to listen to music on your smart phone:
Apple Music can of course only be used on Apple devices, and uses the built-in Music application. Start up time is about a few seconds after a cold boot (all on my 4s), and music streaming starts with hardly any delay. Responsiveness is good, and the user interface is clear and easy.
Google’s application is available on iOS and Android. I have tested the latest version on iOS, but it is a pain in the butt:
- Starting the application, even after cold boot, is successful at a rate of 1/10. Most of the time the application crashes right away. This might be a problem due to my low end device (iPhone 4s with 64Gb), but not due to space problems (half empty) nor internet connectivity (wlan).
- Responsiveness is abysmal
- Access to additional content (radio, songs) and your own library is well done, similar to iMusic.
Here iTunes is the way to go, bit of a pain when using Linux, but there are other reasons I have a Windows installation in parallel, so I don’t mind to boot now and then into Windows. iTunes gives you very powerful tools to change all kind of data.
Google gives you a few options: Use your iTunes library – in this case all your playlists and ratings (but see later) are also uploaded. I am not sure what happens if I retag a song in iTunes, or change anything else in there. I guess the song will not be re-uploaded, but who knows for sure. Furthermore, you can edit your library via the web interface, but this is rather poor.Searching your library
Over times your library grows and there are hundreds if not thousands of artists. So you want to search them. The natural way would be to scroll to the first letter of the artist you are searching, and then look it up. Well, that works perfectly in both Apple’s and Google’s application – unless you are having artists written in some strange script like Japanese or Korean.
iTunes allows you to set a field called something like “Artist name for sorting”, which allows me to put for example “友川カズキ” or “김두수” into the artist field, and into the sort field “Tomokawa Kazuki” and “Kim Doo Soo”. This way I find the artists in the correct place.
Google on the other hand uses simple Unicode order sorting – how could you do that? This is simply plain wrong, and everyone should know that by now. Japanese people will never be able to find anything in their list. And – in contrast to Goole Contacts – Google Music does not support phonetic name fields (similar to the order sort artist) for artists.
What I had to do now is to rename all the artists to include first the phonetic name, followed by the proper name, like in “Tomokawa Kazuki (友川カズキ)”. Something I strongly detest!Radio stations
I might have a slightly peculiar music taste, but the radio stations mixed by Google are simply a pain. The reason is easy to explain: I live in Japan, and so what Google does is mixing about 80% of J-Pop into the radio, all those happy yodeling girlies I really dislike (see my Anti J-Pop campaign for alternatives – yes, they do exist also in Japan!). iTunes radio is here more relaxed it seems.
I appreciate Google’s trial to cater to local (dis)taste, but besides voting down each and every song I hear I don’t see any other option. And honestly, I cannot go through all this voting down without dying from pain inflicted by J-Pop.
Other than this, the two radio stations are probably more or less the same – but as I said, due to the local colorit it is hard to compare.Rating
Ohhh, what a dire point. So there you have you well curated iTunes library with 5-star ratings. I used the ratings in a way that those songs I like get 1 star, those I even like more get 2 stars, and my absolute favorites got 5 stars. I didn’t do any negative ratings.
iTunes/iOS Music app allows you to easily adjust rating, and they are synced between devices. All as you would expect.
Now for Google – they did have a 5-star rating system at some time, but:
Thank you for your feedback. We’ve decided to remove the 5-star Rating lab. This decision wasn’t made lightly, but Thumbs Up/Down is integral for the future vision for Play Music and will be a central design point for our future releases. Please note that we’ll continue to store your ratings that you’ve set via the star lab or via iTunes, and we’ll translate them to thumbs up/down (1-2 stars = thumbs down, 4-5 stars = thumbs up).Amanda, Google Play Community Manager
Here we go – with the move to a new design they threw away the 5-star system, without any reason but integral for future vision – rubbish sales speak. Besides being a very very poor rating system to have only an up and down (good-bad-don’t care), the translation from my rating system to the thumbs up-down is just plain wrong.
Why on earth is the current movement to reduce functionality and rob users of control? Gnome 3 is the prime example of how we `stupiditize’ users by taken any freedom from them in the name of simple design. Google now does the same. I am so sick of getting patronized this way, so Gnome3 was completely banished from my computer and replaced by Cinnamon, which uses the same (good) underlying technique, but takes users seriously!
As much as I would like to see Google Music a valid alternative to iTunes, by now it makes the impression of a quickly hacked together rotten piece of code that tries to get a share of the market without providing equivalent service. Google is using its market presence and convenience to convert people, not features and quality. I can only hope that this changes in the future.
That still leaves me with the question – move to Android or remain with iOS …
The Drupal Association mission is to unite the global open source community to build and promote Drupal. One of the most impactful ways to achieve this is through Drupal.org. Over the last two years, our Engineering team made great strides making the site’s technical stack more performant and rolling out various new features and improvements, such as contribution credits, new version of testbots, improved registration workflow, and many more. And we are not going to stop. It’s imperative that we give users a faster and easier journey towards adoption, community connection, and contribution.
With a November 19, 2015 release date for Drupal 8 coming soon, it make sense to improve the download experience. This much anticipated release will create a surge of traffic and downloads including many who are new to Drupal and just starting their journey towards adoption and contribution.Improving the Drupal.org Download Experience
The download experience today is lacking clarity and context. It is focused on providing the file, but it is not clear about what you are downloading, which version is right for the visitor, how to find the release notes, and what to do next. We also have limited data insight into what kind of audience is downloading the software, making it hard to provide the best educational context on the page.
In time for the November 19th Drupal Release date, we will launch the first iteration of the improved download experience. As we learn more, we will continue to improve the experience. For this first iteration, we will improve the content on the page, give visitors more context and clarity, and we will give more weight to the call to action. That’s a strong mission win for the Association.Helping Drupal.org pay for itself
With this set of improvements we are also creating an opportunity for companies that frequently work with Drupal to highlight how they extend or enhance Drupal. We looked to other open source download experiences for inspiration such as Ubuntu and SensioLabs, who use this funding approach. We also leveraged our learnings from this past year of creating Drupal.org digital opportunities, making sure that our approach aligns with community values. By integrating messages from key partners, we are both creating a way for Drupal.org to help pay for itself as well as providing more context and quality to the download experience. And of course, we’re doing all that guided by our values and policies.The Importance of Iteration
We’ll be launching our first version of this improved experience in conjunction with the Drupal 8 launch. We want to stress that this in no way represents a “finished” product. We’ll use your feedback and actual user data to inform ongoing improvements. This aligns with how we work n Drupal.org: launch a feature, listen and learn from users, then iterate on that feature. We will continue to evaluate this feature to ensure that it meets both community and Association business needs.Next steps
We are very excited to find ways to both improve the Drupal.org experience and fund the work we are doing there. This first iteration will teach us a lot and we will use this to opportunity to better understand how to serve our visitors. If you want to follow this process and share your experience, follow the related issue.
Flickr photo: mortendk
Debian Live has passed on. And it has done so in not happy circumstances. (You can search the list archives for more if you are confused.) I have reposted here my response to this one thread because it’s all I really want to say, after all of the years of working with the team.
On 09/11/15 12:47 PM, Daniel Baumann wrote:
> So long, and thanks for all the fish.
>  http://live.debian.net/project/downstream/
Enough bitter words have been said. I don’t want to add any more. So:I’m proud.
Indeed, that long list of downstreams does speak to the impact you’ve had in inspiring and equipping people to make their own live images. I’m proud to have been a small part of this project.I’m thankful.
I’m thankful that I was able to, through this project, contribute to something for a while that had a positive impact on many people, and made Debian more awesome.I remember the good times.
I remember fondly the good times we had in the project’s heyday. I certainly found your enthusiasm and vision for the project, Daniel, personally inspiring. It motivated me to contribute. Debconf10 was a highlight among those experiences, but also I had many good times and made many friendships online, too.I’m sad.
I’m sad, because although I made some attempts to liaise between Debian Live and the CD and Installer teams, I don’t feel I did an effective job there, and that contributed to the situation we now find ourselves in. If I did you or the project injury in trying to fulfill that role,
please forgive me.
I’m hopeful that whichever way we all go from here, that the bitterness will not be forever. That we’ll heal. That we’ll have learned. That we’ll move on to accomplish new things, bigger and better things.
Thank you, Daniel. Thank you, Debian Live team.
For the past few weeks we have been working on a module called Aegir Network.
Aegir Network allows Aegir servers to communicate with each other. This means you can centralize information from different servers, and run tasks on remote sites and platforms. It also adds a server overview UI to the Aegir interface.
In short, if you're running multiple sites and platforms across multiple servers, and you'd like to manage them from one central dashboard, you should probably check out this module.
(Stretching the definition of "core" a bit here, but this is important to Drupal 8, so hopefully this is ok. :))
Now that Drupal 8.0.0 is nearing its final release, the next task in front of the Drupal community is porting ALL the contributed projects! Luckily, this effort is very much underway, but the faster the majority of big modules are at least usable (ideally with stable releases), the faster Drupal 8 adoption will take off.
After talking to numerous project maintainers, including those with multiple Drupal 8 core commits, it seems like many would find value in having dedicated times during which to collaborate with other people porting projects to D8, get questions answered, get advice on sticky problems, and figure out where best to help.
If you'd like to help mentor these sorts of office hours, please add your name to the issue summary at http://www.drupal.org/node/2612094 and fill in the Doodle.
Apple News module provides an easy way to get your Drupal site's content into Apple News.
The Apple News module contains the following submodules:
- Apple News Example - A fully functional example to use as a base for your own module with a fully styled node export.
- Apple News Extra - Additional preconfigured destinations including Instagram, Twitter and embedded video and other components.
Before you start you must have a working Drupal 7 site, permissions to administer modules and add code, and that you meet the Minimum Requirements.
Success in top Drupal agencies is achieved by its people. And with something like Drupal staff augmentation, it’s important to hone in on member staff traits. When growing your team, choosing augmentees with traits like these can mean the difference between competitive advantage and failure.So what are some ideal (non-techie) Drupaler traits? 1. Integrity
An employee can have all the talent in the world, but without integrity and authenticity, nothing significant can be accomplished. Integrity is the stable force behind many role models. Great leaders model integrity by being honest and doing what is right no matter the circumstances.
Integrity requires you to make the right choice, even when you may not receive personal gain from the outcome. Open Source Integrity is something that should be mutually understood by contributors.
Much like the foundation of a building, this should be the basis for every good hire or Drupal augmentee. Integrity is essential for lasting success.2. Openness
Satisfied employees comfortably voice concerns and ask questions. They know where to go for answers. In current economic times, openness is crucial—anxiety is high, doors seem closed. It’s impossible to build an atmosphere of trust if new augmentees or hirees are padlocked.
An unopen environment encourages a damaging, looming distrust within organizations big and small. To create that transparent, open workplace, more value must be placed on this trait.3. Giving
Here’s one of the most undervalued traits of all. It usually means going above and beyond comfort zones—sharing time, talent, and more without a reward expectation. Giving back to a community like the Drupal Community goes beyond a typical gift exchange.4. Passion
Employees who are passionate about their job can make the heaviest workload a light one. Passion (drive, motivation, zeal) is the prevalent, self-driven attitude that will help lead to success. Team members who are ready for work on Monday because they love what they do, regardless of what they do, are organizational engines.5. Discipline
Isn’t self-discipline really about perseverance? In the workplace, it’s really about not giving up, despite setbacks. When control is tied to passion, mountains are moved.
Contrary to common belief, self-discipline does not mean being harsh toward yourself or living a limited, restrictive lifestyle. Self-discipline is about self-control, a sign of inner strength. This control becomes perseverance; it holds you to your decisions, enables you to follow them through.6. Leadership
The workplace is an environment where effective leadership is incredibly important. Growth is impossible without it, and every member of a top Drupal agency should have the qualities of a leader.
Real leadership is an ability to foster positive action, the kind that can achieve results for an organization. The most effective leaders have a strong sense of self; they understand the qualities that spur others into action.
Effective leaders know their strengths and limitations, they create and effectively communicate a positive, realistic vision. They’re motivators and inspire followers to reach their potential. Team members with this trait look beyond self-interest and encourage others to do the same. This leading is what Drupalers have to do today—it’s a contributive trait.7. Motivation
Like discipline, self-motivation is a power that drives us to keep moving ahead. It nurtures continuous learning and success. Self-motivation is a primary means of realizing goals and progressing. You could say that it’s linked to an inventiveness. These team members need a lot less managing than less determined individuals. These augmentees or hire want to be the best they can be.
“If a man is called to be a street sweeper, he should sweep streets even as Michelangelo painted, or Beethoven composed music, or Shakespeare wrote poetry. He should sweep streets so well that all the hosts of heaven and earth will pause to say, here lived a great street sweeper who did his job well.” –Dr. Martin Luther King Jr.
These are the individuals who tend to learn new skills and take up regular training courses, take ownership of issues, become team leaders; they go above and beyond their job description.8. Empathy
Being sensitive and empathetic towards others goes a long way in establishing productive and happy relationships among peers. If there’s sensitivity at play in the workplace, teams will experience a reduction in office politics, misunderstandings, and the divides that fragment what needs to be a productive work environment.
What empathy does is bring about comfort. While some firms invest in the amenities of an office space or the trappings of a creative work environment, others invest more in team members who do this by their virtue.9. Aptness
We need people who are ready, willing, and able. Infused together, this creates aptness—apt team members. That is: team members prepared to take on challenging Drupal projects and win.
- Ready: This sub-trait means being “prepared” in a professional sense. A top Drupaler working at a top Drupal agency has to have a constant readiness, usually in the form of technical knowledge and experience. This preparation includes technical knowledge, operational experience, and process knowledge.
- Willing: Willingness in this sense is a desire to accomplish. You must be prepared to do the job, or all the preparation in the world won’t help. Having this desire is a serious factor of professional and personal success.
- Able: If you are not ready, you won’t be able to do the job (regardless of your enthusiasm). If you are not willing, all the education and experience in the world won’t help. However, if you’re ready and willing, then you are able.
Together these sub-traits manifest in a super trait, one no Drupaler can be without.10. Modesty
This characteristic may seem odd to many, but it shouldn’t. Let’s face it, the most sought after employees shout their values not through their words but with their work. They’re humble. Team members like this don’t feel the need to pump themselves up in front of others.You can get a team with these traits, you know. Discover How
We released an update of Drupal social intranet OpenLucius last week. An overview of this update:OpenLucius Core
- ~ 40 optimization issues fixed.
- Including community issues.
We added two new modules1. 'LDAP' module
This module extends the OpenLucius distro with login via LDAP. Download.
For those of you who haven't worked with Entity Metadata Wrapper in Drupal before, drop the burrito visit the documentation page on Drupal.org https://www.drupal.org/node/1021556.
Entity Metadata Wrapper takes working with render arrays from blah, to "yeah!" in seconds. For instance, remeber how painful it was to get the file url out of an image field before:
Drupal @ Penn State: One liner to install php 7, mysql 5.6, apache 2.4, drush and drupal on centos 7
It was a nice little saturday in happy valley. Since my son is forcing us to watch the Sponge Bob Square Pants movie over and over, I decided to multi-task. Bryan Ollendyke has been talking about PHP 7 a tad bit lately so I decided to whip up an instance.
Granted this is not ready for prime-time just yet, however, it is extremely fast and everything that I have tested so far works fine. Turn on authcache and it is REALLY fast!
I was made aware that it’s been close to a year since I actually did a demo of the reason that I contribute so many modules to drupal. org. For those that don’t know, the reason I exist is a project called ELMS Learning Network. It is a Drupal 7 based deployment methodology that takes the many parts of an LMS and fragments them across a series of drupal distributions.
Last week Simon retweeted a link to Don’t Feed the Beast – the Great Tech Recruiter Infestation. Which reminded me I’d been meaning to comment on my own experiences from earlier in the year.
I don’t entertain the same level of bile as displayed in the post, but I do have a significant level of disappointment in the recruitment industry. I had conversations with 3 different agencies, all of whom were geographically relevant. One contacted me, the other 2 (one I’d dealt with before, one that was recommended to me) I contacted myself. All managed to fail to communicate with any level of acceptability.
The agency hat contacted me eventually went quiet, after having asked if they could put my CV forward for a role and pushing very hard about when I could interview. The contact in the agency I’d dealt with before replied to say I was being passed to someone else who would get in contact. Who of course didn’t. And the final agency, who had been recommended, passed me between 3 different people, said they were confident they could find me something, and then went dark except for signing me up to their generic jobs list which failed to have anything of relevance on it.
As it happens my availability and skill set were not conducive to results at that point in time, so my beef isn’t with the inability to find a role. Instead it’s with the poor levels of communication presented by an industry which seems, to me, to have communication as part of the core value it should be offering. If anyone had said at the start “Look, it’s going to be tricky, we’ll see what we can do” or “Look, that’s not what we really deal in, we can’t help”, that would have been fine. I’m fine with explanations. I get really miffed when I’m just left hanging.
I’d love to be able to say I’ll never deal with a recruiter again, but the fact of the matter is they do serve a purpose. There’s only so far a company can get with word of mouth recruitment; eventually that network of personal connections from existing employees who are considering moving dries up. Advertising might get you some more people, but it can also result in people who are hugely inappropriate for the role. From the company point of view recruiters nominally fulfil 2 roles. Firstly they connect the prospective employer with a potentially wider base of candidates. Secondly they should be able to do some sort of, at least basic, filtering of whether a candidate is appropriate for a role. From the candidate point of view the recruiter hopefully has a better knowledge of what roles are out there.
However the incentives to please each side are hugely unbalanced. The candidate isn’t paying the recruiter. “If you’re not paying for it, you’re the product” may be bandied around too often, but I believe this is one of the instances where it’s very applicable. A recruiter is paid by their ability to deliver viable candidates to prospective employers. The delivery of these candidates is the service. Whether or not the candidate is happy with the job is irrelevant beyond them staying long enough that the placement fee can be claimed. The lengthy commercial relationship is ideally between the company and the recruitment agency, not the candidate and the agency. A recruiter wants to be able to say “Look at the fine candidate I provided last time, you should always come to me first in future”. There’s a certain element of wanting the candidate to come back if/when they are looking for a new role, but it’s not a primary concern.
It is notable that the recommendations I’d received were from people who had been on the hiring side of things. The recruiter has a vested interest in keeping the employer happy, in the hope of a sustained relationship. There is little motivation for keeping the candidate happy, as long as you don’t manage to scare them off. And, in fact, if you scare some off, who cares? A recruiter doesn’t get paid for providing the best possible candidate. Or indeed a candidate who will fully engage with the role. All they’re required to provide is a hire-able candidate who takes the role.
I’m not sure what the resolution is to this. Word of mouth only scales so far for both employer and candidate. Many of the big job websites seem to be full of recruiters rather than real employers. And I’m sure there are some decent recruiters out there doing a good job, keeping both sides happy and earning their significant cut. I’m sad to say I can’t foresee any big change any time soon.
[Note I’m not currently looking for employment.]
[No recruitment agencies were harmed in the writing of this post. I have deliberately tried to avoid outing anyone in particular.]
Any improvements made anywhere besides the bottleneck are an illusion. — Gene KimHow To Identify And Resolve Your Pinch Points
Rush hour is a cruel juxtaposition between drivers ready, willing, and able to get to their destination as quickly as possible, only to find themselves creeping along (or at a dead stop) due to traffic jams caused by the roads being over capacity and the lack of coordination or optimization of the travel plans of each individual driver.
Most of those drivers also know that by consulting Google Maps and Waze, they can discover the cause of the jam-up, their distance to it, and estimated time of delay; they can then make the decision to stick it out or take the next exit and proceed through the streets.
How motor vehicles flow through a network of highways and byways is a good analogy of how work flows through an organization. When the volume of your company’s work ramps up, and there comes a moment when a single stage becomes the rate-limiting constraint for the entire system, your first step is to locate that damn bottleneck.
And Waze won’t help.Making Work and Workflow Visible
While the system-wide constraint may be obvious in some organizations, it's not always apparent until the flow of work increases to the degree that the bottleneck is overloaded and potentially damaged, making things worse (e.g. a car accident causing traffic to back up even more). The following three exercises will help identify the problem area.Exercise #1: Inventory the Four Types of Work
As organizations grow, so does the quantity and variety of projects that are being worked on simultaneously across different teams and divisions. Unfortunately, the net result is that it becomes more difficult to quantify and prioritize what is being done. Therefore, the first order of business is simply to locate this information. You can perform this exercise digitally, using a spreadsheet, but it's much more powerful if done against a wall with index cards. Either way you'll gain insight into your organization.