Turning complexity into clarity.

Platform.sh: How micro is your microservice?

News from Planet Drupal - Tue, 08/07/2018 - 16:02
How micro is your microservice? Crell Tue, 08/07/2018 - 16:02 Blog

"Microservices" have been all the rage for the past several years. They're the new way to make applications scalable, robust, and break down the old silos that kept different layers of an application at odds with each other.

But let's not pretend they don't have costs of their own. They do. And, in fact, they are frequently, perhaps most of the time, not the right choice. There are, however, other options besides one monolith to rule them all and microservice-all-the-things.

What is a microservice?

As usual, let's start with the canonical source of human knowledge, Wikipedia:

"There is no industry consensus yet regarding the properties of microservices, and an official definition is missing as well."

Well that was helpful.

Still, there are common attributes that tend to typify a microservice design:

  • Single-purpose components
  • Linked together over a non-shared medium (usually a network with HTTP or similar, but technically inter-process communication would qualify)
  • Maintained by separate teams
  • And released (or replaced) on their own, independent schedule

The separate teams part is often overlooked, but shouldn't be. The advantages of the microservice approach make it clear why:

  • Allow the use of different languages and tools for different services (PHP/MongoDB for one and Node/MySQL for another, for instance.)
  • Allows small, interdisciplinary teams to manage targeted components (that is, the team has one coder, one UI person, and one DB monkey rather than having a team of coders, a team of UI people, and a team of DB monkeys)
  • Allows different components to evolve and scale scale independently
  • Encourages strong separation of concerns

Most of those benefits tie closely to Conway's Law:

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

A microservice approach works best when you have discrete teams that can view each other as customers or vendors, despite being within the same organization. And if you're in an organization where that's the case then microservices are definitely an approach to consider.

However, as with any architecture there are tradeoffs. Microservices have cost:

  • Adding network services to your system introduces the network as a point of failure.
  • PointS of failure should always be plural, as a network, even a virtual and containerized one, has many, many points of failure.
  • The network will always be 10x slower than calling a function, even a virtual network. If you're using a shared-nothing framework like PHP you have to factor in the process startup cost of every microservice.
  • If you need to move some logic from one microservice to another it's 10x harder than from one library to another within an application.
  • You need to staff multiple interdisciplinary teams.
  • Teams need to coordinate carefully to avoid breaking any informal APIs
  • Coarse APIs
  • Needing new information from another team involves a much longer turnaround time than just accessing a database.

Or, more simply: Microservices add complexity. A lot of complexity. That means a lot more places where things can go wrong. A common refrain from microservice skeptics (with whom I agree) is

"if one of your microservices going down means the others don't work, you don't have a microservice; you have a distributed monolith."

To be sure, that doesn't mean you shouldn't use microservices. Sometimes that is the right approach to a problem. However, the scale at which that's the is considerably higher than most people realize.

What's the alternative?

Fortunately, there are other options than the extremes of a single monolith and a large team of separate applications that happen to talk to each other. There's no formal term for these yet, but I will refer to them as "clustered applications".

A clustered application:

  • Is maintained by a single interdisciplinary team
  • Is split into discrete components that run as their own processes, possibly in separate containers
  • Deploys as a single unit
  • May be in multiple languages but usually uses a single language
  • May share its datastore(s) between processes

This "in between" model has been with us for a very long time. The simplest example is also the oldest: cron tasks. Especially in the PHP world, many applications have had a separate cron process from their web request/response process for literally decades. The web process exists as, essentially, a monolith, but any tasks that can be pushed off to "later" get saved for later. The cron process, which could share, some, all, or none of the same code, takes care of the "later". That could include sending emails, maintenance tasks, refreshing 3rd party data, and anything else that doesn't have to happen immediately upon a user request for the response to be generated.

Moving up a level from cron are queue workers. Again, the idea is to split off any tasks that do not absolutely need to be completed before a response can be generated and push them to "later". In the case of a queue worker "later" is generally sooner than with a cron job but that's not guaranteed. The workers could be part and parcel of the application, or they could be a stand-alone application in the same language, or they could be in an entirely different language. A PHP application with a Node.js worker is one common pattern, but it could really be any combination.

Another variant is to make an "Admin" area of a site a separate application from the front-end. It would still be working on the same database, but it's possible then to have two entirely separate user pools, two different sets of access control, two different caching configurations, etc. Often the admin could be built as just an API with a single-page-app frontend (since all users will be authenticated with a known set of browser characteristics and no need for SEO) while the public-facing application produces straight HTML for better performance, scalability, cacheability, accessibility, and SEO.

Similarly, one could make a website in Django but build a partner REST API in a separate application, possibly in Go to squeeze the last drop of performance out of your system.

There's an important commonality to all of these examples: Any given web request runs through exactly one of them at a time. That helps to avoid the main pitfall of microservices, which is adding network requests to every web request. The fewer internal IO calls you have the better; just ask anyone who's complained about an application making too many SQL queries per request. The boundaries where it's reasonable to "cut" an application into multiple clustered services are anywhere there is, or can be, an asynchronous boundary.

There is still additional complexity overhead beyond a traditional monolith: while an individual request only needs one working service and there's only one team to coordinate, there's still multiple services to have to manage. The communication paths between them are still points of failure, even if they're much more performance tolerant. There could also be an unpredictable delay between actions; an hourly cron could run 1 minute or 59 minutes after the web request that gave it an email to send. A queue could fill up with lots of traffic. Queues are not always perfectly reliable.

Still, that cost is lower than the overhead of full separate-team microservices while offering many (but not all) of the benefits in terms of separation of concerns and allowing different parts of the system to scale and evolve mostly independently. (You can always throw more worker processes at the queue even if you don't need more resources for web requests.) It's a model well worth considering before diving into microservices.

How do I do either of these on Platform.sh?

I'm so glad you asked! Platform.sh is quite capable of supporting both models. While our CPO might yell at me for this, I would say that if you want to do "microservices" you need multiple Platform.sh projects.

Each microservice is supposed to have its own team, its own datastore, its own release cycle, etc. Doing that in a single project, with a single Git repository, is rather counter to that design. If your system is to be built with 4 microservices, then that's 4 Platform.sh projects; however, bear in mind that's a logical separation. Since they're all on Platform.sh and presumably in the same region, they're still physically located in the same data center. The latency between them shouldn't be noticeably different than if they were in the same project.

Clustered applications, though, are where Platform.sh especially shines. Every project can have multiple applications in a single project/Git repository, either in the same language or different language. They can share the same data store or not.

To use the same codebase for both the web front-end and a background worker (which is very common), we support the ability to spin up the same built application image as a separate worker container. Each container is the same codebase but can have different disk configuration, different environment variables, and start a different process. However, because they all run the same code base it's only a single code base to maintain, a single set of unit tests to write, etc.

And of course cron tasks are available on every app container for all the things cron tasks are good for.

Within a clustered application processes will usually communicate either by sharing a database (be it MariaDB, PostgreSQL, or MongoDB) or through a queue server, for which we offer RabbitMQ.

Mixing and matching is also entirely possible. In a past life (in the bad old days before Platform.sh existed) I built a customer site that consisted of an admin curation tool built in Drupal 7 that pulled data in from a 3rd party, allowed users to process it, and then exported pre-formatted JSON to Elasticsearch. That exporting was done via a cron job, however, to avoid blocking the UI. A Silex application then served a read-only API off of the data in Elasticsearch, and far faster than a Drupal request could possibly have done.

Were I building that system today it would make a perfect case for a multi-app Platform.sh project: A Drupal app container, a MySQL service, an Elasticsearch service, and a Silex app container.

Please code responsibly

There are always tradeoffs in different software design decisions. Sometimes the extra management, performance, and complexity overhead of microservices is worth it. Sometimes it's... not, and a tried-and-true monolith is the most effective solution.

Or maybe there's an in-between that will get you a better balance between complexity, performance, and scalability. Sometimes all you need is "just" a clustered application.

Pick the approach that fits your needs best, not the one that fits the marketing zeitgeist best. Don't worry, we can handle all of them.

Larry Garfield 7 Aug, 2018
Categories: Drupal

Community: Governance Task Force Community Update, August 2018

News from Planet Drupal - Tue, 08/07/2018 - 15:40

This is a public update on the work of the Governance Task Force.

We have progressed into what we are calling the “Engagement Phase” of our schedule; interviewing community member, working groups, and soliciting feedback and meetups and camp. To date we have interviewed at least 18 people (including community members, liaisons, and leadership,) and 3 groups, with at least 15 more being scheduled.

Interviews

If you would like to participate in an interview, please contact any member of the Governance Task Force or sign up using this Google form.

The purpose of interviews is to meet with people individually to get feedback and ideas, and have a conversation about community governance (non-technical governance.) Many governance related discussions have occurred in the past, but we want to make sure everyone has an opportunity to be heard, since group discussions are not always conducive to individual thoughts. Notes taken during the interview are available to, and editable by, the person interviewed, and not shared outside the Governance Task Force. If you have any concerns about a language barrier, privacy, or any other concerns about participating in an interview, contact us. We will do what we can to work with you.

Analysis

The individual interviews are a new step in this governance process, but we do have access to a lot of information that was already compiled from prior discussions. Many town hall style discussions were held over the past year, and we are using all of that information. As we progress into the “Analysis Phase” we are using that information to develop user stories and ideas that will help inform our eventual proposal. Once the interviews are concluded, their analysis will be merged with the existing information.

Drupal Europe

Rachel, Ela, and Stella will be providing an update on the task force’s efforts at Drupal Europe. Findings will be shared and there will be an open discussion to hear from attendees to inform our efforts.

Ongoing Feedback

The task force is committed to working transparently and delivering a well-rounded proposal for both the community and for leadership to review. We believe the proposal presents a great opportunity to help evolve community governance and inform next steps. Should you want to contact the Governance Task Force, feel free to reach out to any member of the group via Slack, drupal.org, or any public place you find our members.

We’ve also setup a Google form for direct feedback. If you do not want to participate in an interview, but do want to contribute your individual thoughts, use this form. You can answer as many or few questions you like. You can also submit the form anonymously. This form will stay active throughout the proposal process, so if you have thoughts to share at a later date, you can still use this form.

Adam Bergstein
David Hernandez
Ela Meier
Hussain Abbas
Lyndsey Jackson
Rachel Lawson
Stella Power

Categories: Drupal

Ixis.co.uk - Thoughts: Last month in Drupal - July 2018

News from Planet Drupal - Tue, 08/07/2018 - 15:22
July has been and gone so here we take a look back at all the best bits of news that have hit the Drupal community over the last month. Drupal Development Dries Buytaert discussed why more and more large corporations are beginning to contribute to Drupal. He shares an extended interview with Pfizer Director Mike Lamb who explains why his development team over there has ingrained open source contribution into the way they work. Drupal 8.5.5 was released in July, this patch release for Drupal 8 contained a number of bug fixes, along with documentation and testing improvements.  It was announced that Drupal 8.6.0 will be released on September 5th and the Alpha version was released the week beginning July 16th. The beta was also recently released, the week of July 29th. This release will bring with it a number of new features, Drupal released a roadmap of all the fixes and features they aim to have ready for the new release.  Events Drupal Europe announced 162 hours of sessions and 9 workshops for the event on Tuesday, Wednesday and Thursday. They also urge anyone with any ideas for social events at this year's event to submit your ideas to help fill out the social calendar with community led ideas.  On August 17-19, New York will play host to the second Decoupled Drupal days. For those that don’t know Decoupled Drupal Days gathers technologists, marketers and content professionals who build and use Drupal as a Content Service -- for decoupled front ends, content APIs, IoT, and more.  DrupalCamp Colorado recently took place. The event proved popular as per usual and this year's Keynote “The Do-ocracy Dilemma and Compassionate Contribution”, was delivered by Acquia Director of research and innovation, Preston So. Preston discusses why a more compassionate approach to contribution is so critical when it comes to managing open-source projects, crafting conference lineups, enabling a successful team, and building a winning business. New Modules New modules, updates and projects were of course released throughout July, the pick of the bunch includes: Commerce 8.x-2.8 - E-commerce suite sees a number of bug fixes google_analytics 8.x-2.3 - Module sees a number of bug fixes Drupal 8.5.5 - Patch release that sees a number of bug fixes and testing improvements That is the end of this months round up. Keep an eye out for next months where we cover all the latest developments in the Drupal community and all the important news affecting the wider Drupal community. Miss last months round up? Check it out on the Ixis site now.
Categories: Drupal

Multiple Website Updates - Upwork

WordPress Work From UpWork - Tue, 08/07/2018 - 14:35
We have 3 websites that need some updates:

1) Website 1
Wordpress Site. Update DNS settings. Registrar and email are one 1and1 while website and content or on another hosting. We need the DNS records updated including name servers, mx, a, and all other records changed. The DNS switch will need to be completed after 8 PM EST (GMT-4) to ensure minimal email disruption to website.

2) Website 2
Wordpress Site. Add SSL certificate and minor optimization. Modify any links once SSL takes effect.

3) Website 3
Wordpress Site. Add SSL certificate, W3C compliance, and minor optimization. Modify any links once SSL takes effect.

Some of these websites will need to be updated in other regards down the road.


Posted On: August 08, 2018 07:41 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: CSS, JavaScript, MySQL Administration, PHP, Web Design, Website Development, WordPress
Country: United States
click to apply

Amazee Labs: Transparent Database Sanitization with GDPR-dump

News from Planet Drupal - Tue, 08/07/2018 - 12:12
Transparent Database Sanitization with GDPR-dump

With GDPR in full effect, sanitization of user data is a fairly hot topic. Here at Amazee we take our clients and our clients’ clients privacy seriously, so we have been investigating several possible approaches to anonymizing data.

In the Drupal world, and the PHP world more generally, there are several options available. Here, though, I’d like to discuss one we think is particularly cool.

Blaize Kaye Tue, 08/07/2018 - 14:12

At Amazee Labs’ Global Maintenance, we work with several different projects per day. We move data from our production to staging and dev servers, and from our servers to our local development environments. Especially on legacy systems, site-specific configuration details often exist only in the databases, and even if that weren’t the case, the issues we’re investigating routinely require that we dig into the database as it (more or less) is on the production servers. Anonymization is crucial for our day to day work.

So our considerations here are, how do we balance productivity while keeping things anonymous?

One way of achieving this is to make Anonymization transparent to the developer. Essentially, we want our developers to be able to pull down the live database as it exists at the moment that they pull it down, and have it be anonymized.

How can we achieve this?

Well, one way is to analyse the daily workflow to see if there are any points at which the data has to flow through before it reaches the developer?

It turns out that, if you’re working with mysql, this “final common path” that the data flows through is the mysqldump utility.

If you’re running backups, chances are you’re using mysqldump.

If you’re doing a drush sql-sync there’s a call to mysqldump right at the heart of that process.

Mysqldump is everywhere.

The question is, though, how do we anonymize data using myqldump?

The standard mysqldump binary doesn’t support anonymization of data, and short of writing some kind of plugin, this is a non-starter.

Fortunately for us, Axel Rutz came up with an elegant solution, namely, a drop in replacement for the mysqldump binary, which he called gdpr-dump. A few of us here at Amazee loved what he was doing, and started chipping in.

The central idea is to replace the standard mysqldump with gdpr-dump so that any time the former is called, the latter is called instead.

Once the mysqldump call has been hijacked, so to speak, the first order of business is to make sure that we are actually able to dump the database as expected.

This is where mysqldump-php comes in. It’s the library on which the entire gdpr-dump project is based. It provides a pure PHP implementation of mysqldump as a set of classes. On its own, it simply dumps the database, just as the native mysqldump cli tool does.

A great starting point, but it only gets us part of the way.

What we’ve added is the ability to describe which tables and columns in the database being dumped you would like to anonymize. If, for instance, you have a table describing user data with their names, email, telephone numbers, etc. You can describe the structure of this table to gdpr-dump and it will generate fake, but realistic looking, data using the Faker library.

This requires some upfront work, mapping the tables and columns, but once it is done you’re able to call mysqldump in virtually any context, and it will produce an anonymized version of your database.

There is still a lot of thinking and work to be done, but we think it’s worth investing time in this approach. The fact that it can be used transparently is its most compelling aspect - being able to simply swap out mysqldump with gdpr-dump and have the anonymization work without having to change any of the dependent processes.

If any of this piques your interest and you’re looking for more details about how you might be able to use gdpr-dump in your own workflow, feel free to check out the project (and submit PRs): https://github.com/machbarmacher/gdpr-dump.

Categories: Drupal

UI Design for Landing page of company website - Upwork

WordPress Work From UpWork - Tue, 08/07/2018 - 12:03
We are a new edtech startup and need a modern UI for Landing Page for our website (community platform) to create a brand signature.
The content/elements we want to put in on the Landing page are:
Company logo and other usual options
brought to you by IMS and YPO (Please use logos from innovatemyschool.com and https://www.ypo.co.uk/ )
Hero element, with our main message/vision. Which is :
Discover...
Measure..
Analyze ...
Champion...
Share...
Act upon...
.... edtech impact
Our value proposition, 2 sections with at least 5 items each for school and for edtech suppliers.
A register interest form.(you can be creative here)

To give you a brief context, Our value proposition is to help schools evaluate efficacy of edtech products during their trial in their school environment. Our platform actually connects the edtech products (suppliers) with the schools.

Edtech Impact must leverage the IMS brand (innovatemyschool.com). To do this, we will like to incorporate the following elements within the landing page design:

IMS custom illustrations
Bright
Clean
Elegant
Community feel
Grassroots logo

our values builds upon:
Authenticity
People Driven

The look and feel must not be:

Corporate
Dark
Too niche
Too graphical
Too geeky


The custom icons and graphical elements shall be similar/same to what we  have on our sister company innovatemyschool.com (But we are open for new fresh ideas or suggestions). Other content will be provided.

Deliverable:
Preferably an HTML file/CSS, with all dependencies (all associated files),
Template in psd etc.
Our aim to use it to create a wordpress website and host it on AWS.

Timelines: our deadline is Sunday the 11 August. so apply ONLY if you can deliver on or before !!


Posted On: August 11, 2018 07:41 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: Adobe Photoshop, Graphic Design, Web Design
Country: United Kingdom
click to apply

ADCI Solutions: Visual regression testing with BackstopJS

News from Planet Drupal - Tue, 08/07/2018 - 10:26

The larger a project, the more time you will spend on regression testing after each change. But there are a lot of tools which can help you to reduce efforts for this process. One of them is BackstopJS.

Get acquainted with BackstopJS

Categories: Drupal

[Request]Looking for booking plugin

Talk about plugins - Tue, 08/07/2018 - 08:20

Hiya,

I'm looking for a booking system that can answer the following prerequisites :

Booking for a room

Booking for an activity

Booking for meals

Invoice ability

To give a context it's for a Buddhist center where people come for various teachings, or retreats..

I'm not afraid to customize things..

Thanks for your ideas !

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

OSTraining: The Ultimate Tutorial for Drupal's Paragraphs Module

News from Planet Drupal - Mon, 08/06/2018 - 17:25

Over the last few months we've worked with more and more Drupal 8 sites. Those projects all had one thing in common ... they used the Drupal Paragraphs module.

Paragraphs is a very popular module for handling content in Drupal 8.

Paragraphs works in a similar way to content fields, but also provides a wide range of options for the design, layout and grouping of your content. 

Categories: Drupal

Simple WP Site Needed (Include Elementor) - Upwork

WordPress Work From UpWork - Mon, 08/06/2018 - 16:46
I need to have a simple wordpress website created similar to https://goo.gl/51VnN1

The example website does not include a navigation bar or columned footers, but I will need that.

Along with the homepage, I'll need content pages (with and without a right sidebar), a contact page, and blog page.

Feel free to use an existing theme like Astra (https://wpastra.com/) and build upon it with Elementor. I will provide you with access to the Pro plugin.

The purpose of this website is to drive action and conversion. Whether it's a phone call or a web form. I will provide all of the page content needed.

This site does not need to include the "latest and greatest". I want it to be clear, fast-loading, and easy to navigate/convert.

I want to have this project completed in 7 days. If you're unable to dedicate the time this week, please do not apply.

Thank you.


Posted On: August 07, 2018 01:11 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: CSS, HTML, HTML5, Web Design, Website Development, WordPress
Country: United States
click to apply

Jacob Rockowitz: Caring about webform accessibility

News from Planet Drupal - Mon, 08/06/2018 - 14:00

It is easy to not care about accessibility, mainly because we generally don't see or understand how people with disabilities use our applications. Frankly, even usability testing can become an afterthought when it comes to building websites. There are lots of move parts to a website or an application, and it is hard to pause and ask can someone access this information using just their keyboard and/or a screen reader. The more accessible your website is, the more users you can reach and engage with your website's mission or purpose.

At Design4Drupal in Boston, caring about accessibility became the central theme for my presentation, titled ’Webform Accessibility'. After I gave my presentation, I created Issue #2979628: [meta] Improve Webform Accessibility and started fixing some obvious and not-so-obvious issues with the Webform module for Drupal 8. Andrew Macpherson, one of the Drupal Accessibility Topic maintainers, was kind enough to spend an entire train ride from NYC to Boston discussing (via Drupal Slack) form related accessibility issues and how to resolve them.

There are tools that can show you obvious problems

The most common form accessibility issue I see across the web is a failure to provide descriptive labels for form inputs. Labeling form inputs makes it possible for a screen reader to describe what input value is expected, as well as determine how it’s going to be used. For example, a screen reader needs to be able to identify a website's search box so that users can find content quickly. The solution is to provide a hidden label or title attribute to a site's search...Read More

Categories: Drupal

Senior Software Architect - Adacado.com - Vancouver, BC

NodeJS jobs - Mon, 08/06/2018 - 09:59
Kubernetes, Golang, Maven, Java, Tomcat, Nginx, MySQL/MariaDB, Redis, ElasticSearch, ActiveMQ, Akka, NodeJS, Python, Hibernate, Spring, Aerospike, Apache Spark,...
From Adacado.com - Mon, 06 Aug 2018 09:59:26 GMT - View all Vancouver, BC jobs
Categories: NodeJS

Senior Software Developer - Adacado.com - Vancouver, BC

NodeJS jobs - Mon, 08/06/2018 - 09:59
Kubernetes, Golang, Maven, Git, Tomcat, Nginx, MySQL/MariaDB, Redis, ElasticSearch, ActiveMQ, Akka, ReactJS, NodeJS, Webpack, Python, Hibernate, Spring,...
From Adacado.com - Mon, 06 Aug 2018 09:59:25 GMT - View all Vancouver, BC jobs
Categories: NodeJS

I Fix Drupal: Debugging "Relay log read failure" With MySQL Master-Slave Replication For Drupal

News from Planet Drupal - Mon, 08/06/2018 - 09:28
Our Drupal 7 installation has served us well using a single, optimised MySQL database server. However, a desire to deliver advanced reporting and dashboards driven by Power BI required us to implement a replicated slave so that Power BI could draw data from a datasource that would not impact the performance of the database serving the website. Mostly the configuration was straightforward: Replicate a MySQL 5.5 master into a single MySQL 5.7 slave Stitchdata tunnels into MySQL slave to access binary logs - Stitchdata requires at least MySQL 5.6, which explains the version difference you...
Categories: Drupal

SSL Install Broke Our Wordpress Sites - Upwork

WordPress Work From UpWork - Mon, 08/06/2018 - 05:48
A recent SSL install (evidently) wreaked havoc on a number of our Wordpress installs. At least, the problems seemed to appear at the same time as the install. We understand that not all of the issues may be SSL related, and we'd like to get them all fixed.

----------------------

Here are the problems:

https://www.accessvegas.com/
Images in posts in the right sidebar aren’t displaying
Posts set to display on the home page aren’t displaying
Left sidebar, 2 images that are in widgets are missing
WYSIWYG editors in wordpress are not working – I can’t make changes to content on the posts or pages


https://entertainment.accessvegas.com/
Images in left sidebar widget are missing
Images for each concert in calendar is missing
Can’t edit html in widgets


https://news.accessvegas.com/
Images are missing in posts (ex. https://news.accessvegas.com/2018/07/02/sports/las-vegas-aces-signs-lady-liberty-for-inaugural-season/)
Can’t edit html in widgets

----------------------

We're preferably looking to hire someone who has experience with Wordpress in making fixes like this. Someone who understands the "nuts and bolts" of WP, already might have a clue what happened based on looking over the symptoms listed above, and can be reasonably concrete about the fixes. Or, about what it will take to diagnose the problems and get to the root.

We're not so much interested in hiring someone who only dabbles in WP programming, and whose trial and error (learning curve) will be costly to us. Nor someone who is simply a WP designer who wants to take a try.

Please quote hourly rate, and also (if reasonable), a rough estimate of time needed to solve. If that is not reasonable, please suggest time needed to diagnose and what we may be in for depending on the issue(s).

Thanks!

Ted


Posted On: August 14, 2018 07:43 UTC
Category: IT & Networking > Network & System Administration
Skills: SSL, WordPress
Country: United States
click to apply

Plan a Content Data Model, build in Toolset, & create Custom Templates for LearnDash w/Elementor Pro - Upwork

WordPress Work From UpWork - Mon, 08/06/2018 - 03:03
I have a rough draft of my WordPress Site's Content Model mapped out in Lucid Chart… I need help finalizing and specifying it with all custom fields, post types, taxonomies and relationships.

Then, I need those Custom Types, Fields, Taxonomies and Relationships created in my current WP install (at www.uzazu.org) using Toolset. (Given my future desired functionality, Toolset is a good choice for me with this project…).

Then, I need 5 different Custom Page Templates created using Elementor Pro (4.1-beta). Four of these templates will be used in my LearnDash course, and one will be a 'normal' page template.

For the pages, I will propose a basic wireframe for each page and then would like to have you input/feedback/collab on how/if to improve them from a UI & UX point of view, given my goals for each page.

I will then specify the data/content that needs to go in all the custom fields for the  various pages that need to be creates with the custom templates by putting them in a Google Spreadsheet that you can export/import into the WP site.

I need all this done over the coming 2-3 weeks.

What I require of you is ample experience in working out how to create an optimal Content Model, given a fairly complex set of data, underlying dimensions and content search, recommendation, combination and interaction needs.

And then, being already very familiar with building sites with Toolset (preferably as well experience with their new Many-Many relationships features.)

And then, experience working with Elementor Pro and Dynamic fields.

And of course - experience in creating good user experiences with dynamic data in WordPress.

Is this you!?

Then please tell me a bit about your relevant experience in working with designing Content Models, using Toolset, creating page templates with Elementor that utilize Dynamic Fields and, ideally, also creating custom Templates for LearnDash.

BTW - The site I am building this on uses the Astra Theme.

Any questions? Just ask!

If your submission is encouraging, and I feel you might be a great fit for this job, then I’d like to have a 20-30 minute video chat via Skype or Zoom to see if we’ll be a good fit. Technical expertise is important, but skill with how to create a good user experience (UX and UI design) is what will define whom I choose to work with on this mid to potentially large sized project.

I look forward to hearing from you.


Posted On: August 06, 2018 04:11 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: Information Architecture, LearnDash, PHP, User Interface Design, Website Development, WordPress
Country: United States
click to apply

[Help] Looking for a tabbed gallery plugin.

Talk about plugins - Sun, 08/05/2018 - 17:35

Something like this, where I can display clickable logos sorted in categories.

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

Web Developer - Cityfone - Rogers Communications - Burnaby, BC

2018 Drupal Jobs from Indeed - Sun, 08/05/2018 - 10:40
3+ years of experience with static and database driven CMSs like ExpressionEngine 3 , WordPress and Drupal....
From Rogers - Sun, 05 Aug 2018 10:40:41 GMT - View all Burnaby, BC jobs
Categories: Drupal

Custom Word Press Template Fixes - Upwork

WordPress Work From UpWork - Sun, 08/05/2018 - 05:17
I have a WordPress site which in the domain was changed. For some reason every time I make an edit and update the changes. The entire page erases all content. Not sure what is happening but I need this fixed, as well as the shopping cart and my account UI.

I need help immediately. If you can begin work within the next 8 hours I would deeply appreciate it.


Posted On: August 05, 2018 07:53 UTC
Category: Web, Mobile & Software Dev > Web Development
Country: United States
click to apply