Drupal Planet

Károly Négyesi: Drupal 8 progress from my / MongoDB perspective: update #13

The entity config query is in and the aggregation query system is ready, and it's surprising how little new code was necessary for it -- mostly a little refactor of the existing SQL implementation to make it more reusable and of course a lot of tests -- written with the help of dawehner, thanks! There are a few big issues left: split the entity controller into a CRUD controller and the real controller. Once users become EntityNG, roles need to use the existing entity reference item. Same for taxonomy terms and their hierarchy.

Many issues are progressing/being done: the Field API to CMI conversion is nearing some 600kb. Field and entity types are being converted to the new entity API -- node is making huge progress, and it's definitely the worst. Entity reference made it in. We now have metadata for config inspired by kwalify.

As it is now firm that a MongoDB DBTNG driver will be necessary, I have reopened an old issue and written a small patch to allow database drivers outside of the core directory. This issue met some political resistance (I can't claim I found any technical reasoning in the issue aside from "we cannot do that") so I am not quite sure whether it will make it in -- I have asked Dries to decide on it to cut the chase. As we would need to instruct people to put the DB driver in the right place anyways, at worst the drivers will go besides the core drivers as they did in D7, it's just going to make core upgrades harder. But then again, if you use git, even upgrades won't be harder, so it's truly not a biggie. Just another bitter day in the core queue -- there are a just bit more of them than I'd like in this cycle.

Of course, the big hurdle of making Views default to entity queries is on the horizon as well, and I had some conversation with dawehner already about it. This is a bit hard to put to writing because my thoughts are still forming. So, one important part of Views is the query builder, especially the default SQL one. However, entity query contains another query builder and once the aggregation queries get in, their power will roughly be equal. Of course, not everything is an entity and there will still be outlying cases that the SQL query engine can do but the entity query engine can't. So, we want to show the full gamut of possibilities to the end users in such a crafty way that entity queries are ran when possible and the Views SQL query builder kicks in only when necessary. Of course, if an entity is not in SQL then SQL queries are straight out. Now, Views does not easily yield to all this, some changes to the way data is defined will be necessary. We need to take a good hard look at the way sort/filter/etc handlers are created too so that within the confines of single inheritance we can still reuse them. Thankfully, there's ample time for this past feature freeze -- all the way till API freeze.

CrossFunctional: Rate DrupalCon Sydney sessions with the Guide app

Body: 

DrupalCon Sydney 2013 is now over! We had a fantastic time, and we'll be talking about that really soon, but first there's an important matter we'd like your help with.

The Drupal Association is looking for feedback on the sessions presented at DrupalCon Sydney 2013, and are encouraging you to submit it via the web. We understand that there are some issues with the submission form on the DrupalCon site, so we decided to help out by reminding people about a different approach for your feedback.

We've got a rating system already in place on the DrupalCon Sydney 2013 Mobile App. The data goes to the Drupal Association and the feedback is critical for the DA so that they have a better idea of what sessions people want to see, and what feedback to give to presenters. We really appreciate the many of you have already have already used the mobile app and ecourage you to rate all the sessions. 

For those that haven't, please do the following::

  1. Download the app for your phone or device from the Apple App Store or Google Play.
  2. Run the app, open the Sessions list and navigate down to the session you want to rate.
  3. Click the Rate this session button.
  4. A form will be shown, prompting you to select a star rating from 1 to 5, as well as enter a short comment.
  5. Click Save, and your results will be saved and sent to us.

If you have any problems submitting, please let us know. The future of DrupalCon depends on your feedback!

Geoffrey

Greg Dunlap: IOHeckle - Q&A from DrupalCon Sydney

One the third day of DrupalCon Sydney, all the Drupal 8 initiative owners conducted a Q&A with attendees in Sydney. Some of us were there in person, and some connected via Google Hangout. In a moment of weakness, I sent a message on Twitter to request questions via the cheeky hashtag of #IOHeckle. There were so many questions from (and discussion with) the audience that we didn't get to most of the Twitter questions, but they were generally really interesting so I decided to answer them anyway.

Thanks to everyone who submitted questions!

What are all of your plans for maintaining your new code/subsystems after 8.0 release? Any new features mid-cycle before D9? - Dave Reid
I don't really know how involved I will be. After my funding runs out I am planning on getting a full time job again, and to some extent it will depend on how that works and what kind of time I have available. I do plan to take a break from day to day core work after release but we'll see what happens going forward at that point. As far as mid-cycle features for Drupal 9, I'd like to see some enhancements to the import UI and site building tools. I think there's more we could have done there but we ran out of time.

What is 1 thing that you didn't get to in 8 that you want to change 9+? - Dave Hall, Dave Reid
At DrupalCon Munich several people got a presentation from Bernhard Schussek, maintainer of the Symfony forms system. He talked about how Symfony forms work and how their approach compares and contrasts to Drupal's Form API. I left the presentation really impressed with Symfony forms and wishing we had the time to investigate whether they would be a good replacement for Form API. Anyone interested in that presentation can download the PDF from http://drupal.org/node/1447712#comment-6497818. Ultimately this just happened too late for anyone to have time to do anything about it, but I'm pretty sure we'll get to it in Drupal 9.

Are you worried about how fast major version releases affect the Enterprise community, since they're almost always slow to adopt? - Domenic Santangelo
I answered this to some extent in the presentation but there are a couple things I didn't get to bring up that are really important to consider. I'm a huge advocate for a faster release cycle for a variety of reasons. Obviously technology is changing at a brisk pace and it is important to keep up as much as possible. However our release cycle also places enormous burdens on us that are not always plainly obvious. For instance, it makes fundraising for core development much more difficult than it would be if we released more often. The most common refrain I heard from people I approached for funding was "We can't invest in something we aren't going to be able to use for two years." Another problem we have is that our long development cycle puts a lot of pressure on people to get things 'exactly right' because they know they'll have to live with it for six more years. This is actually a huge cause of many issues that become embroiled in architectural purity or arguments over differing approaches. If we knew we could adapt and improve iteratively, a lot of this pressure would disappear. This of course opens up backwards compatibility questions (which are discussed in the video) but I think the gains we would get are well worth it. I'd love to see us on six month release cycles for Drupal 9.

What is the one most important thing you would tell a D9 initiative owner that you wish you had known? - Dave Reid
Build a multi-functional team from the start. This is the thing the Views team got right, and its a huge reason why they were successful. They got four people together with differing but also overlapping skill sets, all of whom agreed to work together and stay on top of the things for the long haul. This is so important, and its something I never really had. I have had contributors who have been active for most of the project (most notably Daniel Kudwein and Alex Pott) but it was never a 'team', we never really coordinated much amongst each other, we never sat down and made a roadmap or raised funds as a group. Two years ago I wish I had gotten a core group together and just fundraised for the lot of us to work for the next two years. It would have been phenomenal.

"If you could send a message to yourself-one-year-ago, what would it say? - Cathy Theys
Build a team right now and start fundraising for all of you.

If you were to receive a message today from yourself-one-year-in-the-future, what do you hope it would say? - Cathy Theys
It was all worth it.

What was the best (got results) method of communicating the top priorities and asking people to help with what you most needed? - Cathy Theys
I feel like I never got a handle on this. Gábor did an amazing job with his D8MI website (http://www.drupal8multilingual.org/), and I know it has served him well. In my case, I feel like every time I tried to communicate my own priorities I didn't get a lot of results, and I also feel like my priorities didn't mesh well with the priorities of others working on CMI issues. Around the end of the original feature freeze I thought it was enormously important to get our admin functionality done so that people could test the system as it was intended to be used, but I feel like other people thought that perfecting the underlying architecture was more important, even if it meant we shipped with no user-facing functions at all. I have also been hampered by a lack of issues that novices could get involved in, which has been a problem from day one. Most of our issues are just thorny and hard.

Who mentored you in how to be an initiative lead? What did they do? - Cathy Theys

  • Angie Byron has always been my ideal of what a community leader should be. She has inspired me immensely over the years.
  • David Strauss was really great to work with. While he has been too busy to be involved in the project extensively, he always made time for technical discussions when I needed a sounding board, and has an uncanny way of clearing a path through really thorny problems by looking at them from fresh angles.

Beyond that, I think all the initiative leads have acted as sort of one bug support group, inspiring each other in different ways.

  • Gábor Hojtsy is incredible at organizing and getting the word out about his initiative, making it as easy as possible for people to get involved.
  • Larry Garfield never gives up on his technical vision and has fought incredibly hard on things I would have long since given up on, including the integration with Symfony which I view as the single most important and revolutionary change in Drupal's history.
  • Kris Vanderwater has an incredible breadth of understanding around his subject area, which has allowed him to work fast and identify pitfalls others would have missed and thus cost weeks or months of work.
  • The Views team ... I don't even have words. Incredible people accomplishing an impossible task in record time. An amazing demonstration of the power of teamwork.
  • John Albin is just one of my favorite people, funny and passionate and driven even while being 18 hours around the world from everyone else.
  • Throughout the dev cycle Shannon Vettes has attempted to organize and manage us to work more efficiently, a thankless task if ever there was one.

During initiative efforts, what was the saddest day? What got you through it? The most fun day? - Cathy Theys
I don't know if there was one specific saddest day, but the worst days were the ones where people are actively being jerks to you. When people say your work sucks, that you're ruining Drupal, that the whole system should be torn out of core, or that you're an elitist core dev unconcerned with the needs of users ... I don't know about anyone else but my initial reaction is to give everyone the finger and go live on a farm with 15 cats. One thing Angie has said which I try to always remember is that these reactions are borne out of passion for the project and people who want things to be as good as they possibly can be. This helps conceptually, but it doesn't do much about the raw feeling in your gut.

The most fun days were the code sprints, when you are surrounded by your favorite people in the world hammering away on the big problems to solve. In particular I remember when Alex Pott brought me my custom made CMI shirt at DrupalCon Munich. That was really special.

What are you most proud of? - Cathy Theys
I'm actually really proud that I figured out a way to raise funds for core development which I hope can serve as a model for future initiatives. As I've said many times before, Drupal is in a place where it has all of the business and economic pressures of a large commercial software project, but none of the resources. If we can't figure out a way to scale core development, then the future prospects for the project are grim. There is a lot of interesting work being done to look into this problem and I don't think there is any one answer. Acquia's Large Scale Drupal program is attempting to fund development through subscriptions from large Drupal users. I took a more grass roots fundraising model. I would love to see a world where companies that rely on Drupal are funding people to work on core full time, as a business investment. Hopefully all these and more will lead to a future where developers can focus more on Drupal and less on paying the rent so they can work on Drupal with what is left.

topics: drupalplanet drupal

10jumps Blog: How to setup Drupal project instance on AWS EC2

In this blog I will drive you through setting up Drupal project instance on Ec2 micro instance of AWS and setting up ftp on your Drupal instance. Before this, of course you have to register with AWS which is straightforward.

So, what we will understand from this blog:-

1       Choosing OS and assigning some security rules on our instance.

2       How to access our instance and play around it?

3       Setting up LAMP on our AWS micro instance

4       Setting up ftp on AWS micro instance

5       Managing your Drupal project using ftp connection using filezilla

Once you are registered with AWS you have to login into your account. Among the AWS services just click on EC2 link which is nothing but a virtual server in the cloud. It will redirect you to EC2 dashboard where you can manage your entire instance. Now for creating new instance follow below steps:-

1       Just click on Launch instance select Classical wizard and click continue.

2       Now you have to select Amazon Machine Image (AMI) from one of the tabbed lists below by clicking its Select button.

3       Let’s say we select Ubuntu 12.04 LTS.

4       Next leave default settings except just select micro instance from the instance type because it’s free to use and click continue.

5       Next again leave default setting and click continue.

6       Next again leave default setting and click continue.

7       Now you have to give name of your key and value. I recommend give key value name more sensible with your project and click continue.

8       Now select creating a new key pair as we are new we don't have existed key pair. Give name to your key pair file it should make sense with regards to your project. Download your keypair.pem file and save at a safe place because we need this file later.

9       Next select create a new security group. Here we will assign some security rule and enable http, SSH and ftp connection to our instance. Http port range is 80 SSH port range is 22, for ftp select custom TCP rule and give port range 21-22. About source you can give any IP range as you need or just leave default for now.

10    Just click continue and launch instance. Your instance will be running in some time as AWS will take some time to run your instance.

Now our EC2 micro instance is running. You can check out from your dashboard.

Now we setup LAMP in our Ubuntu 12.04 LTS instance. For this we access our Ubuntu instance from terminal and setup LAMP in that. Below are the steps to access and setup your LAMP in Ubuntu 12.04 LTS instance.

1       Open your terminal and go to the directory where you stored your key pair file .pem file then run this command into your terminal sudo SSH -i file_name.pem [email protected] .

2       It will give you Ubuntu prompt in your terminal. You can understand like this that now you are logged in into your Ubuntu machine and you can do anything over there. The main thing here is you have to run all commands with "sudo" or as a root user which works on file system directory.

3       In order to setup LAMP we will install three packages in it . Run these command from terminal :-

●       sudo apt-get install apache2

●       sudo apt-get install mysql-server

●       sudo apt-get php5 php-pear php5-mysql php5-suhosin

That's it your LAMP environment is ready. You can check it by navigating your instance url that is for example look like this ec2-43-23-32.compunte.AWS.com in browser. It will give you message Localhost is working something like that.

Till here we got our LAMP environment running into our EC2 instance. Now we install our Drupal 7 instance in it. Here in Ubuntu instance we don't have any ftp connection with ftp client or server. So we can use SCP for taking Drupal tarball from our local instance or we can use wget utility of linux to download Drupal from its url. Below are steps to install Drupal 7

1       cd /var/www/

2       wget  http://ftp.Drupal.org/files/projects/Drupal-7.12.tar.gz

3       tar xvf Drupal-7.12.tar.gz

4       mv Drupal-7.12 Drupal

Below is a link which can tell you how to install Drupal in linux . Just follow all those steps.

http://Drupal.org/documentation/install/developers

When you setup with your mysql database and Drupal configuration then just browser link like for example:

http://ec2-43-23-32.compute-1.amazonAWS.com/Drupal/

It will take you to your Drupal site.

Now we will see how to setup ftp on Drupal instance .Why we need ftp for Drupal instance. In order to work on Drupal we have to use many modules, themes and libraries. So we have to upload those things on site. We can achieve this with SCP but that will be more difficult because you have to do via command line.  Here we will see how to setup Filezilla ftp on Drupal site which is on AWS EC2. Below are the steps to setup filezilla as a ftp client.

1       Install filezilla  into your local system :- sudo apt-get install filezilla

2       Now open filezilla click on file > site manager

3       Enter the details of your site here like :-

●       HOST - ec2-43-23-32.compute-1.amazonAWS.com

●       Port- 22

●       Protocol - SFTP(SSH file transfer protocol )

●       Logon Type - Normal

●       User - Ubuntu

●       Password - Ubuntu . Then click on ok don't click on connect this time.

1       Now click on Edit> Settings > SFTP and addkeyfile. Navigate your .pem file here. It will ask you to convert .pem file just select ok. Now filezilla have your instance credentials to connect and everything is good to connect to your Drupal instance.

2       Now click on file > site manager > connect

Now you can transfer all files from your local to Drupal instance.

 

I hope you enjoyed this blog. Please feel free to comment and send queries to me.

 

Reference:-

https://AWS.amazon.com/documentation/

http://library.linode.com/lamp-guides/Ubuntu-12.04-precise-pangolin

 

Thanks for reading draft of this. Appreciate your help and contribution.

Pages