Turning complexity into clarity.

Appnovation Technologies: Simple Website Approach Using a Headless CMS: Part 1

News from Planet Drupal - Wed, 02/06/2019 - 08:00
Simple Website Approach Using a Headless CMS: Part 1 I strongly believe that the path for innovation requires a mix of experimentation, sweat, and failure. Without experimenting with new solutions, new technologies, new tools, we are limiting our ability to improve, arresting our potential to be better, to be faster, and sadly ensuring that we stay rooted in systems, processes and...
Categories: Drupal

Web Format Trading Preparation Sheet - Upwork

WordPress Work From UpWork - Wed, 05/23/2018 - 13:07
We are looking to set up a simple web based Trading Preparation Sheet for professional Futures Trading. Candidates are to have a good understanding of Trading and financial markets for easier communications.

The Trading Preparation Sheet will mostly be manual inputs with fixed formats. The inputs include support and resistance levels, overall hypothesis of market conditions, strategies to be executed, to do list. Some simple Webapi knowledge grabing economic calendar from Investing.com will be needed.

The output will simply be a page summarising the inputs. See attachment for the mock up plan, pg 1 2 3 as input, page 4 as output summary. These are only initial mock up ideas, better design ideas will be welcomed.

Potentially looking for bonus function like linking Excel content to the the Trading Preparation Sheet.

Preferrably done in WordPress

Posted On: May 23, 2018 13:49 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: Foreign Exchange Trading, Market Analysis, Technical Analysis, Web Design, WordPress
Country: Australia
click to apply

Migrating Kajabi Site (Funnels + Members Included) to Wordpress - Upwork

WordPress Work From UpWork - Wed, 05/23/2018 - 12:47
I have a client with a site that was created in Kajabi.

There are just a handful of members and some funnels on the site.

We have 2 sites:
- A newer, site/domain hosted using Kajabi
- An older, site/domain with tons of blog content

This is what I am looking for:
- Someone to migrate the Kajabi site, members, and funnels back to the original site using Wordpress (hosted preferably on WPX Hosting)
- I'd also like to maintain the original content on the old site
- But I'd like the older site to adopt the "newer look and feel" of the Kajabi site (so the blog content and layout should be updated accordingly)

Please provide an estimated cost (# of hours estimation please) and turn around time.

Thank you

Experience with Kajabi is preferred

Posted On: May 23, 2018 13:49 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: CSS, CSS3, HTML5, Web Design, WordPress
Country: United States
click to apply

Intermediate Back-End Developer (Contract) - POWERSHIFTER - Vancouver, BC

2018 Drupal Jobs from Indeed - Wed, 05/23/2018 - 12:19
Familiarity with traditional CMSes including, but not limited to, WordPress and Drupal. Work closely with Front-end Developers to ensure seamless integration...
From Powershifter - Wed, 23 May 2018 12:19:21 GMT - View all Vancouver, BC jobs
Categories: Drupal

Intermediate Back-End Engineer (Vancouver) - POWERSHIFTER - Vancouver, BC

2018 Drupal Jobs from Indeed - Wed, 05/23/2018 - 12:19
Familiarity with traditional CMSes including, but not limited to, WordPress and Drupal. Work closely with Front-end Developers to ensure seamless integration...
From Powershifter - Wed, 23 May 2018 12:19:18 GMT - View all Vancouver, BC jobs
Categories: Drupal

Senior Back-End Developer (Vancouver) - POWERSHIFTER - Vancouver, BC

2018 Drupal Jobs from Indeed - Wed, 05/23/2018 - 12:19
Familiarity with traditional CMSes including, but not limited to, WordPress and Drupal. Work closely with Front-end Developers to ensure seamless integration...
From Powershifter - Wed, 23 May 2018 12:19:18 GMT - View all Vancouver, BC jobs
Categories: Drupal

Axelerant Blog: Women at Axelerant: Chapter Two

News from Planet Drupal - Wed, 05/23/2018 - 11:23

I sat down to speak with the amazing women of Axelerant, and they each shared their unique perspectives about what it's like being professionals in their field. In this chapter, Mridulla, Akanksha, Sabreena, and Nikita expound on this—and in their own words.

Categories: Drupal

Auto Categorize 20k Wordpress Posts - Upwork

WordPress Work From UpWork - Wed, 05/23/2018 - 02:49
We want to auto categorize 20k wordpress posts into 1 of 400 Categories.

We'll provide you an Excel spreadsheet. Each row will represent a Post. Where as each column will be the data point or the values associated with that post.

The data points (or values) will include
- Post Name
- Post Content
- Post Current Category
- Post Current Tags (many of these are inaccurate)
- Publish Date

Posted On: May 23, 2018 04:11 UTC
Category: Data Science & Analytics > Machine Learning
Skills: Machine Learning, Microsoft Excel
Country: United States
click to apply

Virtuoso Performance: Configuring migrations via a form

News from Planet Drupal - Wed, 05/23/2018 - 02:29
Configuring migrations via a form mikeryan Tuesday, May 22, 2018 - 09:29pm

Frequently, there may be parts of a migration configuration which shouldn’t be hard-coded into your YAML file - some configuration may need to be changed periodically, some may vary according to environment (for example, a dev environment may access a dev or test API endpoint, while prod needs to access a production endpoint), or you may need a password or other credentials to access a secure endpoint (or for a database source which you can’t put into settings.php). You may also need to upload a data file for input into your migration. If you are implementing your migrations as configuration entities (a feature provided by the migrate_plus module), all this is fairly straightforward - migration configuration entities may easily be loaded, modified, and saved based on form input, implemented in a standard form class.

Uploading data files

For this project, while other CSV source files were static enough to go into the migration module itself, we needed to periodically update the blog data during the development and launch process. A file upload field is set up in the normal way:

$form['acme_blog_file'] = [ '#type' => 'file', '#title' => $this->t('Blog data export file (CSV)'), '#description' => $this->t('Select an exported CSV file of blog data. Maximum file size is @size.', ['@size' => format_size(file_upload_max_size())]), ];

And saved to the public file directory in the normal way:

$all_files = $this->getRequest()->files->get('files', []); if (!empty($all_files['acme_blog_file'])) { $validators = ['file_validate_extensions' => ['csv']]; if ($file = file_save_upload('acme_blog_file', $validators, 'public://', 0)) {

So, once we’ve got the file in place, we need to point the migration at it. We load the blog migration, retrieve its source configuration, set the path to the uploaded file, and save it back to active configuration storage.

$blog_migration = Migration::load('blog'); $source = $blog_migration->get('source'); $source['path'] = $file->getFileUri(); $blog_migration->set('source', $source); $blog_migration->save(); drupal_set_message($this->t('File uploaded as @uri.', ['@uri' => $file->getFileUri()])); } else { drupal_set_message($this->t('File upload failed.')); } }

It’s important to understand that get() and set() only operate directly on top-level configuration keys - we can’t simply do something like $blog_migration->set(‘source.path’, $file->getFileUri()), so we need to retrieve the whole source configuration array, and set the whole array back on the entity.

Endpoints and credentials

The endpoint and credentials for our event service are configurable through the same webform. Note that we obtain the current values from the event migration configuration entity to prepopulate the form:

$event_migration = Migration::load('event'); $source = $event_migration->get('source'); if (!empty($source['urls'])) { if (is_array($source['urls'])) { $default_value = reset($source['urls']); } else { $default_value = $source['urls']; } } else { $default_value = 'http://services.example.com/CFService.asmx?wsdl'; } $form['acme_event'] = [ '#type' => 'details', '#title' => $this->t('Event migration'), '#open' => TRUE, ]; $form['acme_event']['event_endpoint'] = [ '#type' => 'textfield', '#title' => $this->t('CF service endpoint for retrieving event data'), '#default_value' => $default_value, ]; $form['acme_event']['event_clientid'] = [ '#type' => 'textfield', '#title' => $this->t('Client ID for the CF service'), '#default_value' => @$source['parameters']['clientId'] ?: 1234, ]; $form['acme_event']['event_password'] = [ '#type' => 'password', '#title' => $this->t('Password for the CF service'), '#default_value' => @$source['parameters']['clientCredential']['Password'] ?: '', ];

In submitForm(), we again load the migration configuration, insert the form values, and save:

$event_migration = Migration::load('event'); $source = $event_migration->get('source'); $source['urls'] = $form_state->getValue('event_endpoint'); $source['parameters'] = [ 'clientId' => $form_state->getValue('event_clientid'), 'clientCredential' => [ 'ClientID' => $form_state->getValue('event_clientid'), 'Password' => $form_state->getValue('event_password'), ], 'startDate' => date('m-d-Y'), ]; $event_migration->set('source', $source); $event_migration->save(); drupal_set_message($this->t('Event migration configuration saved.'));

Note that we also reset the startDate value while we’re at it (see the previous SOAP blog post).

Tags Drupal Planet Drupal Migration Use the Twitter thread below to comment on this post:

Configuring migrations via a form https://t.co/EZTiUKBazX

— Virtuoso Performance (@VirtPerformance) May 22, 2018


Categories: Drupal

[HELP] Portfolio Plugin

Talk about plugins - Wed, 05/23/2018 - 01:09

I've been looking for a portfolio plugin that can link to its own page with info of artist and date, but I want it to be able to show images and video (youtube links) in one single page gallery to scoll through for that single page. This seems to be impossible for me to find, looks everwhere for something like this

Any Help?

submitted by /u/CartoonistDude
[link] [comments]

Fashion Blogs - Upwork

WordPress Work From UpWork - Tue, 05/22/2018 - 23:00
I just started a clothing brand for affordable trendy women's apparel (ages 18-30), and need someone to write blog articles for the website.

Note: freelancers must deliver fully formatted articles with images (free images)

Posted On: May 23, 2018 04:11 UTC
Category: Writing > Article & Blog Writing
Skills: Content Writing, Creative Writing, Fashion Writing, Social Media Marketing, WordPress
Location Requirement: Only freelancers located in the United States may apply.
Country: United States
click to apply

Kalamuna Blog: Drupalistas Spent Our Entire Swag Budget. Where did the Money Go?

News from Planet Drupal - Tue, 05/22/2018 - 22:09
Drupalistas Spent Our Entire Swag Budget. Where did the Money Go? Shannon O'Malley Tue, 05/22/2018 - 15:09

This April at DrupalCon Nashville, in addition to wanting to meet colleagues and soak up the great talks, we wanted to create a forum for the international Drupal community to do good. That’s why we used our sponsor booth wall as a space for attendees to promote nonprofits that work for causes that matter to them.

Categories Articles Community Drupal Nonprofits Author Shannon O'Malley
Categories: Drupal

Build small Hompage. Mobile First,Fast - Upwork

WordPress Work From UpWork - Tue, 05/22/2018 - 20:53

MOBILE FIRST and very fast
Small Website.
Clean and simple.

Skill: Javascript/PHP/JS Framework/MySQL or Python or same

1 Register for Newsletter(Animation Button shake)
1 Menu Button Animation.
1And Site animation
1Video (no Youtube) Free Player with place for other Video plugin
1Contact Formular
1Skype and Whatsapp (button) for direct Call
1Social media links(button)
1Share button
1Frequently Asked Question with 5 question
6-10sites ( Home,About us,blog,news,contact us)
Footer Animation(simple i have a example)
Standart Seo optimized (no Zombie zone ect)

Please contact me and make me a offer when you have all information.

All important analysis tools

101% Bug free

PAY: per houer or fix price.

What i have:
Color for Background
Style for Background
Cloud Server
Icons (only for text)
Content (text)
Littlebit work on the website.


Posted On: May 23, 2018 04:11 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: CSS, HTML, HTML5, JavaScript, PHP, Python, Web Design, Website Development
Country: Switzerland
click to apply

Dries Buytaert: My thoughts on Adobe buying Magento for $1.68 billion

News from Planet Drupal - Tue, 05/22/2018 - 19:20

Yesterday, Adobe announced that it agreed to buy Magento for $1.68 billion. When I woke up this morning, 14 different people had texted me asking for my thoughts on the acquisition.

Adobe acquiring Magento isn't a surprise. One of our industry's worst-kept secrets is that Adobe first tried to buy Hybris, but lost the deal to SAP; subsequently Adobe tried to buy DemandWare and lost out against Salesforce. It's evident that Adobe has been hungry to acquire a commerce platform for quite some time.

The product motivation behind the acquisition

Large platform companies like Salesforce, Oracle, SAP and Adobe are trying to own the digital customer experience market from top to bottom, which includes providing support for marketing, commerce, personalization, and data management, in addition to content and experience management and more.

Compared to the other platform companies, Adobe was missing commerce. With Magento under its belt, Adobe can better compete against Salesforce, Oracle and SAP.

While Salesforce, SAP and Oracle offer good commerce capability, they lack satisfactory content and experience management capabilities. I expect that Adobe closing the commerce gap will compel Salesforce, SAP and Oracle to act more aggressively on their own content and experience management gap.

While Magento has historically thrived in the SMB and mid-market, the company recently started to make inroads into the enterprise. Adobe will bring a lot of operational maturity; how to sell into the enterprise, how to provide enterprise grade support, etc. Magento stands to benefit from this expertise.

The potential financial outcome behind the acquisition

According to Adobe press statements, Magento has achieved "approximately $150 million in annual revenue". We also know that in early 2017, Magento raised $250 million in funding from Hillhouse Capital. Let's assume that $180 million of that is still in the bank. If we do a simple back-of-the-envelope calculation, we can subtract this $180 million from the $1.68 billion, and determine that Magento was valued at roughly $1.5 billion, or a 10x revenue multiple on Magento's trailing twelve months of revenue. That is an incredible multiple for Magento, which is primarily a licensing business today.

Compare that with Shopify, which is trading at a $15 billion dollar valuation and has $760 million of twelve month trailing revenue. This valuation is good for a 20x multiple. Shopify deserves the higher multiple, because it's the better business; all of its business is delivered in the cloud and at 65% year-over-year revenue growth, it is growing much faster than Magento.

Regardless, one could argue that Adobe got a great deal, especially if it can accelerate Magento's transformation from a licensing business into a cloud business.

Most organizations prefer best-of-breed

While both the product and financial motivations behind this acquisition are seemingly compelling, I'm not convinced organizations want an integrated approach.

Instead of being confined to proprietary vendors' prescriptive suites and roadmaps, global brands are looking for an open platform that allows organizations to easily integrate with their preferred technology. Organizations want to build content-rich shopping journeys that integrate their experience management solution of choice with their commerce platform of choice.

We see this first hand at Acquia. These integrations can span various commerce platforms, including IBM WebSphere Commerce, Salesforce Commerce Cloud/Demandware, Oracle/ATG, SAP/hybris, Magento and even custom transaction platforms. Check out Quicken (Magento), Weber (Demandware), Motorola (Broadleaf Commerce), Tesla (custom to order a car, and Shopify to order accessories) as great examples of Drupal and Acquia working with various commerce platforms. And of course, we've quite a few projects with Drupal's native commerce solution, Drupal Commerce.

Owning Magento gives Adobe a disadvantage, because commerce vendors will be less likely to integrate with Adobe Experience Manager moving forward.

It's all about innovation through integration

Today, there is an incredible amount of innovation taking place in the marketing technology landscape (full-size image), and it is impossible for a single vendor to have the most competitive product suite across all of these categories. The only way to keep up with this unfettered innovation is through integrations.

For reference, here are the 2011, 2012, 2014, 2015, 2016 and 2017 versions of the landscape. It shows how fast the landscape is growing.

Most customers want an open platform that allows for open innovation and unlimited integrations. It's why Drupal and Acquia are winning, why the work on Drupal's web services is so important, and why Acquia remains committed to a best-of-breed strategy for commerce. It's also why Acquia has strong conviction around Acquia Journey as a marketing integration platform. It's all about innovation through integration, making those integrations easy, and removing friction from adopting preferred technologies.

If you acquire a commerce platform, acquire a headless one

If I were Adobe, I would have looked to acquire a headless commerce platform such as Elastic Path, Commerce Tools, Moltin, Reaction Commerce or even Salsify.

Today, there is a lot of functional overlap between Magento and Adobe Experience Manager — from content editing, content workflows, page building, user management, search engine optimization, theming, and much more. The competing functionality between the two solutions makes for a poor developer experience and for a poor merchant experience.

In a headless approach, the front end and the back end are decoupled, which means the experience or presentation layer is separated from the commerce business layer. There is a lot less overlap of functionality in this approach, and it provides a better experience for merchants and developers.

Alternatively, you could go for a deeply integrated approach like Drupal Commerce. It has zero overlap between its commerce, content management and experience building capabilities.

For Open Source, it could be good or bad

How Adobe will embrace Magento's Open Source community is possibly the most intriguing part of this acquisition — at least for me.

For a long time, Magento operated as Open Source in name, but wasn't very Open Source in practice. Over the last couple of years, the Magento team worked hard to rekindle its Open Source community. I know this because I attended and keynoted one of its conferences on this topic. I have also spent a fair amount of time with Magento's leadership team discussing this. Like other projects, Magento has been taking inspiration from Drupal.

For example, the introduction of Magento 2 allowed the company to move to GitHub for the first time, which gave the community a better way to collaborate on code and other important issues. The latest release of Magento cited 194 contributions from the community. While that is great progress, it is small compared to Drupal.

My hope is that these Open Source efforts continue now that Magento is part of Adobe. If they do, that would be a tremendous win for Open Source.

On the other hand, if Adobe makes Magento cloud-only, radically changes their pricing model, limits integrations with Adobe competitors, or doesn't value the Open Source ethos, it could easily alienate the Magento community. In that case, Adobe bought Magento for its install base and the Magento brand, and not because it believes in the Open Source model.

This acquisition also signals a big win for PHP. Adobe now owns a $1.68 billion PHP product, and this helps validate PHP as an enterprise-grade technology.

Unfortunately, Adobe has a history of being "Open Source"-second and not "Open Source"-first. It acquired Day Software in July 2010. This technology was largely made using open source frameworks — Apache Sling, Apache Jackrabbit and more — and was positioned as an open, best-of-breed solution for developers and agile marketers. Most of that has been masked and buried over the years and Adobe's track record with developers has been mixed, at best.

Will the same happen to Magento? Time will tell.

Categories: Drupal

Development help needed for website re-design and content overhaul - Upwork

WordPress Work From UpWork - Tue, 05/22/2018 - 17:48
I’m looking for an experienced full stack developer for some work on our website in anticipation of our upcoming marketing push.

We use the Rainmaker platform, so the designer must have WordPress or Genesis knowledge. We also have Drip and Calendly integrations that need updating. I'm very inexperienced with web development and design and would welcome your feedback to make our site unique and attractive.

Some things I'd love your help with:
1- Implementing structural and content revisions
2- Re-thinking our color scheme (we want something bold with high contrast)
3- Fixing some bugs
4- Helping design our new Podcast page (podcast will be launched within the next month): shownotes, episode player, a place for listeners to ask questions, etc.

Posted On: May 22, 2018 18:11 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: Web Design, Website Development, WordPress
Country: United States
click to apply

[HELP] Has anyone used the GoUrl Bitcoin Payment Plugin for Woocommerce?

Talk about plugins - Tue, 05/22/2018 - 15:16

I'm looking for a bitcoin payment plugin to go along with Woocommerce and GoUrl looks the most promising with the highest reviews. Has anyone else here used it? Thanks in advance!

submitted by /u/TheEpitome0fAwkward
[link] [comments]