Giter VIP home page Giter VIP logo

dmaps's Introduction

Drupal Vagrant Dev box for CIbox-vm support for drupal's module porting flow

#Installation

#Usage

vagrant up && vagrant ssh

Drupal 7 reinstallation from scratch

Unix users

cd /var/www/d7
sh reinstall.sh

Windows users

sh reinstall.sh --windows

By default your site will be accessible by using this url.

http://drupal7.192.168.56.132.xip.io/

Drupal 8 reinstallation from scratch

Open http://drupal8.192.168.56.132.xip.io and go through installation process.

If xip.io not working - create row with

192.168.56.112 drupal7.192.168.56.132.xip.io drupal8.192.168.56.132.xip.io

in /etc/hosts or just use another ServerName in apache.yml

If you have Vagrant HostUpdater plugin, your hosts file will be automatically updated.

VirtualBox additions

For automatic update additions within guest, please install proper plugin

vagrant plugin install vagrant-vbguest

Tools

  • XDebug
  • Drush
  • Selenium 2
  • Composer
  • Adminer
  • XHProf
  • PHP Daemon
  • PHP, SASS, JS sniffers/lints/hints

##Adminer Adminer for mysql administration (credentials drupal:drupal and root:root)

http://192.168.56.112.xip.io/adminer.php

##PHP Profiler XHProf It is installed by default, but to use it as Devel module integration use:

drush en devel -y
drush vset devel_xhprof_enabled 1
drush vset devel_xhprof_directory '/usr/share/php' && drush vset devel_xhprof_url '/xhprof_html/index.php'
ln -s /usr/share/php/xhprof_html xhprof_html

After vset devel_xhprof_enabled it could return an error about "Class 'XHProfRuns_Default' not found" - ignore it.

Linux Containers

When your system enpowered with linux containers(lxc), you can speedup a lot of things by using them and getting rid of virtualization. For approaching lxc, please install vagrant plugin

vagrant plugin install vagrant-lxc
apt-get install redir lxc cgroup-bin

also you may need to apply this patch fgrehm/vagrant-lxc#354

When your system is enpowered by apparmor, you should enable nfs mounts for your host machine Do that by editing /etc/apparmor.d/lxc/lxc-default file with one line

profile lxc-container-default flags=(attach_disconnected,mediate_deleted) {
  ...
    mount options=(rw, bind, ro),
  ...

and reload apparmor service

sudo /etc/init.d/apparmor reload

and run the box by command

VAGRANT_CI=yes vagrant up

Do use

VAGRANT_CI=yes

environment variable, if you got issues with all vagrant commands.

Windows Containers

Install Cygwin according to provided steps.

Run Cygwin as Administrator user.

Use default flow to up Vagrant but run sh reinstall.yml --windows

##Windows troubleshooting

If you will see error liek ...[error 26] file is busy... during sh reinstall.sh modify that line:

before

name: Stage File Proxy settings
sudo: yes
lineinfile: dest='sites/default/settings.php' line='$conf[\"stage_file_proxy_origin\"] = \"{{ stage_file_proxy_url }}";'

after:

name: Copy settings.php
sudo: yes
shell: cp sites/default/settings.php /tmp/reinstall_settings.php

name: Stage File Proxy settings
sudo: yes
lineinfile: dest='sites/default/settings.php' line='$conf[\"stage_file_proxy_origin\"] = \"{{ stage_file_proxy_url }}\";'

name: Restore settings.php
sudo: yes
shell: cp /tmp/reinstall_settings.php sites/default/settings.php

dmaps's People

Contributors

afi13 avatar alexschedrov avatar ddrozdik avatar max-kuzomko avatar podarok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dmaps's Issues

Location: Copy and refactor some location functions

This task should be investigated for each function before starting, because some function could be already copied/moved during execution other issues.

Please update this issue if function already copied/moved and add mark near the name of the function.

Functions:

  • _location_floats_are_equal()
  • location_has_coordinates()
  • location_get_postalcode_data()
  • _location_geo_logic() - looks like could be as part of geocoder service
  • _location_patch_locpick()
  • location_dd_to_dms() - this function needed for #63
  • _location_rss_item()
  • location_rss_namespaces()
  • location_display()

Location: geocoder service

Location geocoder - this is almost all functions from location.inc

We should move this functions to a service.

Location: Earth service

Trigonometry for calculating geographical distances. This code is located in the earth.inc

Location: Convert hook_theme() and related theme functions

Blocker: #20
Let's convert hook_field_extra_fields() into Drupal 8 format.
Additional information:

Which theme functions should be converted:

  • location_settings
  • locations
  • location
  • location_latitude_dms
  • location_longitude_dms
  • location_element
  • location_distance

these two theme functions are removed in dmaps:

  • location_map_link_options
  • location_geocoding_options

Roadmap. List of top level tasks

Here will be list of tasks ... For each task should be created an issue and linked with item in this list.

  • Add Location Settings pages
  • Add Location content type fields
  • Create Services described here #3
  • Convert hook_help()
  • Convert hook_permissions()
  • ...
  • Migration from D7 to d8

RoadMap

  • For ability to build proper Architecture we need to investigate features list that already is in D7 version. #2
  • After getting full list of features - we need to draw a line over features that covered by core and stable contribs for not copy their functionality, but just reuse it within @drupal-ukraine/drupal-maps project
  • for the list of unique and needed features we need to create Architecture and to approach them as a project for D8
  • We are doing release 8.x-1.x as direct port, called MVP for ability to fast migrate users from D7 to D8. All Architecture changes should be done in terms of updating 1.x to 2.x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.