Turning complexity into clarity.

Drupal Association blog: 2017 Drupal Association at-large election winner announced

News from Planet Drupal - Mon, 03/27/2017 - 15:51

*/

The staff and board of the Drupal Association would like to congratulate our newest board member:

Ryan Szrama.

Thank you, Ryan, for stepping forward to serve the Drupal community. On behalf of the community I also want to thank the 13 candidates who put themselves out there in service of Drupal and nominated themselves. We are grateful that our community has so many brave and generous people willing to contribute this way.

Ryan's election to the board represents the sixth year of elections to a community-at-large seat on the Drupal Association board. Each year we've focused on improving the elections process, and this year was no different. We focused on two goals: 

  1. Improve the user experience of participating in the elections process. 
    • We added more in-line help materials throughout the elections process.
      • For candidates, we added information about the responsibilities of a board member to the nomination form, as well as a video message from the Executive Director.
      • For voters we improved the elections navigation, and provided more educational materials about the IRV voting process.
    • We implemented a drag and drop ballot, to make it easier for voters to rank candidates. 
  2. Make it easier to get to know the candidates.
    • We updated the candidate profile form, to ask more detailed questions to help voters get to know the candidates. 
    • Based on feedback from previous years, we eliminated the three virtual meet-the-candidates sessions, in favor of giving each candidate the option to post a statement-of-candidacy video.  In conjunction with the question and answer section on each candidate profile, we felt this gave the electorate the opportunity to get to know their candidates at their own pace and on their own terms. 

Our next steps will be to reach out to the candidates for their evaluation of the elections experience.

We also want to hear from the voters. Please tell us about your experience with the elections process in the comments below. Your feedback is important to us so that we can make the 2018 elections process even better. 

About the Elections Methodology: Instant Run-off Voting(IRV)

Elections for the Community-at-large positions on the Drupal Association board are conducted through Instant Run-off Voting. This means that voters can rank candidates according to their preference. When tabulating ballots, the voters' top-ranked choices are considered first. If no candidate has more than 50% of the vote, the candidate with the lowest votes is eliminated. Then the ballots are tabulated again, with all the ballots that had the eliminated candidate as their first rank now recalculated with their second rank choices. This process is repeated until only two candidates remain and a clear winner can be determined. This voting method helps to ensure that the candidate who is most preferred by the most number of voters is ultimately elected. You can learn more about IRV (also known as Alternative Vote) in this video.

Voting Results

There were 13 candidates in contention for the single vacancy among the two community-at-large seats on the Board. 1,240 voters cast their ballots out of a pool of 94,499 eligible voters (1.3%). Voters ranked an average of 3.6 candidates on their ballots. 

The bar charts below show the vote counts for each candidate in each round.
Place the mouse over a bar to see the number of votes.

  • Yellow — Votes carried over from the previous round.
  • Green — Votes received in this round.
  • Red — Votes transferred away in this round.

A candidate's votes in a round is the sum of the yellow and green bars.
Since the green and red bars represent votes being transferred, the sum of the
green and red bars is the same.

The exhausted bar represents votes where the voter did not indicate a next
preference and thus there were no candidates to transfer the vote to.

Round 1

(next)

Count of first choices.

Round 2

(prev)(next)

Count after eliminating gurubryan and transferring votes.

Round 3

(prev)(next)

Count after eliminating mehuls and transferring votes.

Round 4

(prev)(next)

Count after eliminating zet and transferring votes.

Round 5

(prev)(next)

Count after eliminating Rahul Seth and transferring votes.

Round 6

(prev)(next)

Count after eliminating redacted and transferring votes.

Round 7

(prev)(next)

Count after eliminating MatthewS and transferring votes.

Round 8

(prev)(next)

Count after eliminating Riaan Burger and transferring votes.

Round 9

(prev)(next)

Count after eliminating johnkennedy and transferring votes.

Round 10

(prev)(next)

Count after eliminating jackniu and transferring votes.

Round 11

(prev)(next)

Count after eliminating ok_lyndsey and transferring votes.

Round 12

(prev)

Count after eliminating Prasad Shir and transferring votes. Candidate rszrama is elected.

Winners

Winner is rszrama.

Categories: Drupal

Virtuoso Performance: Thoughts on the Drupal community

News from Planet Drupal - Mon, 03/27/2017 - 15:47
Thoughts on the Drupal community

I did make one comment on Dries’ blog in the immediate aftermath of learning about the situation which is roiling the Drupal community, but since then have taken some time to listen and ponder. The community is in deep pain now, and many of us are reacting to that pain with anger. Trust is in short supply. Healing seems nearly impossible.

We need to start from compassion for all involved. The pain is deepest for those in the middle. Larry has already expressed his pain eloquently - I know losing the Drupal community would cut me deeply, and pragmatically this is a major blow to his career as well. But, let’s also consider Drupal leadership - Dries, the Drupal Association, the Community Working Group. Regardless of whether we agree with their decision, I see no reason to believe it was done arbitrarily or with malice. Reaching such a decision against someone who has given so much to the community over the years must have been extraordinarily difficult, and the fact that this decision seems to have eroded much of the community’s trust in them is surely agonizing.

We need to recognize and address the asymmetries in this situation. The power in the relationship is unbalanced - Drupal leadership has an ability to affect Larry’s life profoundly that is not reflected. On the other hand, the information is also unbalanced - Larry is able to say what he chooses publicly, but the Drupal leadership has a responsibility to maintain confidentiality. Yes, “confidentiality” can be used as a smokescreen - but there really is a legitimate need to respect it - to protect those who gave evidence to the CWG, and to protect Larry himself from public accusations without public evidence. Transparency and confidentiality are at odds, and it is exceedingly difficult to find a “perfect” balance between them.

That all being said, and recognizing that the information I have is incomplete, my main thoughts on the three parties involved:

  1. The impression Larry’s blog post leaves is that his dismissal was primarily due to BDSM/Gorean practices in individual personal relationships (that certainly appears to be the main takeaway in much of the criticism online). On the other hand, statements from the other side suggest it may have had more to do with broader statements of belief (and commitment to living that belief totally) which seem in conflict with the Drupal community’s values (although it’s difficult for me to be sure of whether they were meant to be taken literally in the real world, or as a form of cosplay - as portrayal of a Gorean character). Just to be clear - although I strongly disagree with some statements I saw, as long as they were not reflected in Larry’s behavior within the Drupal community I don’t see standing to dismiss him (except, perhaps, from representation to the PHP community if it seemed like it might diminish his effectiveness in that role). But, if this was indeed the main issue presented to Larry, I would have liked to see him address it head-on. He does deal with it somewhat in the section “Larry is a proponent for the enslavement of women!”, but the section title itself looks like an exaggeration of the actual accusation, and it is down at the bottom of the accusations he addresses, de-emphasizing it.

  2. I think Drupal leadership needs to tilt the balance at least a little more towards transparency. The community does need to better understand broadly why Larry was dismissed. Dries’ post stated “I did this because it came to my attention that he holds views that are in opposition with the values of the Drupal project”. This suggests that the primary reason for the dismissal was those statements outside of Drupal - I (and many others) feel that what happens outside of the Drupal community, should stay outside of the Drupal community. Then, the DA stated “We want to be clear that the decision to remove Larry's DrupalCon session and track chair role was not because of his private life or personal beliefs... Our decision was based on confidential information conveyed in private by many sources.” This contradicts Dries’ original statement, which is concerning. It also fails to address the central concern many people have - did Larry do or say anything within the Drupal community?

  3. I don’t think the Drupal community has acquitted itself well here. The immediate outpouring has been based on one point of view - admittedly, there is little hard information otherwise, but we should all be slower to react when we know we don’t have all the facts, and lead off with questions rather than diatribes. One thing to be concerned about is that the one-sided onslaught is likely to discourage expressions that disagree with the crowd - anyone who might agree with the Drupal leadership’s decision, or who might know of some concrete reasons they may have made that decision, has reason to fear speaking up. I’m thinking here of GamerGate. No, I’m not saying the people criticizing the decision are like the GamerGaters - but what I am saying is that, given that the center of this controversy is around beliefs and statements that look an awful lot like misogyny, and that much of the rhetoric has carried a whiff of torches and pitchforks, I would not be at all surprised if women (and feminists of all gender identities) felt good reason to fear a GamerGate-like backlash if they did speak up. We need to leave more room for all voices and not flood the space unilaterally.

So, where do we go from here? In reverse order,

  1. The Drupal community is certainly Internet-savvy - we’ve all seen so many cases where based on one piece of information the flamers descend without waiting for fact-checking, the other side of the story, etc. We need to jerk our knees a little more slowly. We need to recognize we don’t have (and will never have) all the information, and the fact that we won’t have it is not in and of itself proof that the decisions of Dries/DA/CWG were wrong.

  2. Drupal leadership does need to tell us more, and I think it can be done without violating confidentiality. Simply put - did Larry’s dismissal involve anything he did within the Drupal community? If they say it did, I for one, am willing to accept it and move on - I’m not in a position to know the specifics (nor should I be), but I recognize this as a legitimate exercise of authority, even if I don’t know if I would have voted the same way if I had seen the evidence. If, on the other hand, this is based purely on statements and actions outside of the Drupal community, it’s important for all of us in the Drupal community to understand that - we all need to know if the DA and CWG will hold us accountable for our online presence outside of Drupal. On that score, I’ve created a separate Twitter account for my Drupal and professional communications under my DBA, Virtuoso Performance. To be fair, I’ve considered doing this anyway just in terms of work/life balance, but now it seems all the more important to keep things separate.

  3. I know it’s a lot to ask - actually, I know that it’s too much to ask and don’t actually expect it, but in the interests of symmetry I’m putting it out there… It would be great if Larry could share (without violating the confidentiality of anyone involved - redacting names and details) precisely what he was told were the specific charges that led to his dismissal. We’re not going to get any specifics from the Drupal leadership side - he’s the only person who can provide us with any hard information. Again, I don’t expect this - Larry has suffered more than anyone here, and has already really put himself out there. Edit: Larry has now responded with more information, which I will take some time to review before making further comment.

Ultimately, while this is a painful episode in Drupal’s history, I hope we can find a way to get through it and come out the other side with a better understanding of each other, and rebuild trust within the community.

mikeryan Monday, March 27, 2017 - 10:47am Tags Planet Drupal Drupal Add new comment
Categories: Drupal

Sooper Drupal Themes: New: Customize Glazed Builder With Glazed Theme 2.6.4 and Glazed Builder 1.1.3!

News from Planet Drupal - Mon, 03/27/2017 - 15:40

Today I'm excited to announce a new Glazed Builder and Theme release... Imagine having a meeting with your client tomorrow. You've promised your client the ability to update landing pages without needing any help. The client imagines he'll just be changing images and simple text blocks. Then you show him the Glazed Builder Sidebar and it's filled with your custom designed icon boxes, testimonial block, and even custom branded sliders. All accessible and editable without needing even basic HTML skills.

Custom HTML Drag and Drop Elements in the Glazed Builder Sidebar! 

Adding elements to the sidebar is now extremely easy, you don't need to have a custom module or even any PHP code. You just drop a folder with your custom elements in your theme or subtheme folder and your custom elements will magically appear as editable drag and drop elements. You just to add a class or two to indicate editable portions of your HTML elements and that's it. Of course, you can find all the details and an example zip file in the sidebar elements documentation

Various Fixes

We made various improvements to the Glazed Builder and Theme user experience, details of which you can read in the Glazed Builder Changelog and Glazed Theme changelog. We're ironing out as many little issues as possible while working on the Drupal 8 theme releases!

Need any help with sidebar elements? Just create a ticket in the support forum and we'll try to help you out and simultaneously improve our product to match any expectations you have that we did not think of.

Categories: Drupal

Xeno Media: Xeno Media's Michael Porter to present "The Butler Did It: Putting Jenkins To Work For You" at Drupal MidCamp Saturday, April 1

News from Planet Drupal - Mon, 03/27/2017 - 15:12

Xeno Media Lead Developer Michael Porter was selected to present The Butler Did It: Putting Jenkins To Work For You at Drupal MidCamp on April 1 in Chicago.

Michael's presentation shows how use the power of Continuous Integration (CI) servers for offloading some of the repetitive tasks developers and software maintainers need to do on a daily basis. 

The session will demonstrate how to use Jenkins, the leading open source automation server to:

  • Run Drupal core and module updates
  • Run and report on behat tests
  • Run and report on Coding Standards
  • Trigger Offsite backup of production sites
  • Use Jenkins Pipeline workflows to build branch/feature based servers.
  • Triggering jobs with webhooks
  • Report progress, and results to Slack

MidCamp participation is part of Xeno Media's strategic dedication to Drupal and the Open Source community. We have been a MidCamp sponsor for two years and  Web Strategist Jim Birch is an active organizer.

Learn more:

Categories: Drupal

Install WordPress Magazine Plug In & Redesign - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 15:05
Install WordPress Magazine Plug In & Redesign
Please refer to www.PiercingView.com

• Want a magazine looking redesign of the site.  More consumer friendly
• We update content  regularly; weekly podcasts, videos, blogs, updates, reports, and maybe 3rd party feeds.
• Also want to take advantage of ad revenue and affiliate programs.
• There seem to be lots of possible plug ins:
o https://athemes.com/collections/best-magazine-wordpress-themes/  &
o https://colorlib.com/wp/best-news-wordpress-themes/

• Our target audience visits sites such as https://www.fool.com/

• Need expertise as follows:  
o Proven experience with such themes (must provide examples)
o Can help decide which one is best (pros and cons of the top options)
o Can install it and be accountable for it working as designed  ..  especially how it integrates with podcasts, youtube videos we post
o Expert in Woo-Commerce plug ins; CRITICAL that it does NOT interfere with the woocommerce plug ins (memberships and commerce) we already have in place
o Can optimize for SEO

If you feel that you can provide, please let me know.  We are eager to start.  

We anticipate this to be a short job (3-5 days) to help us select, install and test.  
We are open to longer term maintenance.

Important:  Please respond directly on Upwork.  No emails please.

Thanks much


Posted On: March 27, 2017 18:11 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: CSS, HTML, Web Design, Woocommerce, WordPress, Wordpress Plugin
Country: United States
click to apply
Categories: WordPress Maintenance

Virtuoso Performance: The Drupal (migration) expert is in at MidCamp

News from Planet Drupal - Mon, 03/27/2017 - 14:55
The Drupal (migration) expert is in at MidCamp

MidCamp is imminent, and I'm proud to announce that Virtuoso Performance (i.e., me!) is sponsoring a "Drupal Expert Is In" session Saturday April 1 at 1pm. I'll be in the main room (120) to answer your Drupal 8 migration questions, help you get through any tricky plugin issues, and demonstrate how to approach migration problems. The plan is to make this an open session - to allow anyone interested in Drupal 8 migration to sit around the campfire and learn from each other's issues.

Migrate all the things!

mikeryan Monday, March 27, 2017 - 09:55am Tags Planet Drupal Drupal
Categories: Drupal

woocommerce expert needed with experience in pressable, mysql and wocommerce. full stack. - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 13:25
First- we need someone to start today. not just accept the project today.
we have 3 core issues on the site now that need addressing:

second - you must have experience with pressable environment and knowledge of mysql and OScommerce / magento

1. we have multiple vendors which customers can order from. each vendor receives a  packing slip (with product name, quantity, model number and the shipping address, no price)
the customer gets an invoice that has the product name, product price, quantity, shipping and billing addresses and order total.
the admin gets a copy of all the packing slips sent to vendors in one email

- this used to work until the current coder broke it

2. there was curl update from a sister site (osccommerce) into the current site which updated products, the categories, categories products went into , their prices, cost of goods, modified the meta data so it is not a copy of original site to avoid duplicate content penalties and if an item had to be visible or not based on it being made active/inactive on source site.    
- current coder broke this too

3. it seems we are now getting a lot of spam registrations on the site. never used to happen.


Posted On: March 27, 2017 18:11 UTC
Category: Web, Mobile & Software Dev > Ecommerce Development
Skills: CSS, HTML5, MySQL Administration, Shopify, Woocommerce, WordPress, WordPress e-Commerce
Country: United States
click to apply
Categories: WordPress Maintenance

Wordpress Blog Writer Needed - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 12:07
Hello,

I have some content (approx 350 words and 3 images) which I would like uploaded onto my Wordpress blog.

Need this job done in the next 24-48 hours.

Prior Wordpress experience essential. Please confirm number of hours and cost to complete this job.


Posted On: March 27, 2017 18:11 UTC
Category: Writing > Article & Blog Writing
Skills: Blog Writing, WordPress
Country: Australia
click to apply
Categories: WordPress Maintenance

Wordpress Expert Needed - Convert Website To Wordpress - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 10:21
I need a Web Developer - expert in Wordpress able to convert a website to Wordpress. The website was built with a custom CMS and is relatively small (currently 9 subpages) but have some special tools such as:

- performance charts - created from regularly uploaded CSV files
- registration / login - gives a user access to the extra set of documents (after approval by administrator). There are two sets of documents - visible to the public and visible only for registered users
- multilingual
- a pop-up disclaimer
- forms
- signup for a newsletter

I would like to keep the same design but need some fixes/ improvements. For example, I would like to have a possibility to reorganize sections, adding a contact page (or other modules) freely to other pages, adding a blog page, adding freely content sections (or other modules) to pages, reorganizing the menu, reposition the social media icons, etc.

I look ideally for a long term collaboration.

To show me you read this post thoroughly, the first word on your application must be the word ‘Wordpress Website'.


Posted On: March 27, 2017 18:11 UTC
Category: Web, Mobile & Software Dev > Web Development
Skills: WordPress
Country: Switzerland
click to apply
Categories: WordPress Maintenance

ADCI Solutions: Top 10 responsive Drupal themes

News from Planet Drupal - Mon, 03/27/2017 - 09:32

We love exploring Drupal themes. They save plenty of time when you need to be ahead of everybody and launch your website as soon as possible. They simplify the whole development process for a novice Drupaller. They are designed for you so that the only thing to worry about is content that you should add to your website.
In this article we present you the themes that cover one of Drupal out-of-box features - responsive design. Click here to continue.

Categories: Drupal

Add Content to Wordpress - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 08:02
I have an empty wordpress blog. The theme is installed but currently only example content is in place.

I need you to:
Follow provided instructions to populate provided content into the template, changing images moving round the content etc.

Please apply with your best price. To show you've read the description please copy and paste the line below in your application.

I'm ready to help with your wordpress theme.


Posted On: March 27, 2017 18:11 UTC
Category: Admin Support > Data Entry
Skills: Data Entry, Content Management, WordPress
Country: United Kingdom
click to apply
Categories: WordPress Maintenance

MD Systems blog: Drupal 8 security features: user-submitted data sanitization

News from Planet Drupal - Mon, 03/27/2017 - 07:21
Recently, we had to create a security report for one of our clients about their Drupal 8 project. We described how Drupal 8 protects against most common vulnerabilities and added some project specific tests to secure as good as possible that it cannot be attacked. This resulted in a document that we thought is worth to be transferred into a series of blog posts.
Categories: Drupal

Linkedin Developer - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 03:30
We would like to upgrade our managing director Linkdn account to generate more leads and sales through  linked. We will probably require our own company profile to be update. Our organisation is a sales agency specialising in premium product sales. We offer services of warehousing and fulfilment for rewards and loyalty programs. We supply recognised brands for rewards programs, corporate gifts, competitions & sales promotions.


Posted On: March 27, 2017 07:47 UTC
Category: Writing > Web Content
Skills: Content Writing, Copywriting, Graphic Design, Social Media Marketing, WordPress
Country: Australia
click to apply
Categories: WordPress Maintenance

Need Content that SELLS! - Looking for an EXPERT copywriter with experience - Upwork

WordPress Work From UpWork - Mon, 03/27/2017 - 01:17
Are you a copywriter that can sell anything? Do you have experience creating lead pages, website pages and more?

I am looking for a copywriter that can create very COMPELLING content for my website.

My business does social media advertising for small businesses. We manage facebook, instagram, and google ads for our clients.

Current website: http://alakaiservices.com/
Working on private pages - you will get password to see them on wordpress.

Potential for more work in the future if job is successful.


Posted On: March 27, 2017 07:47 UTC
Category: Writing > Copywriting
Skills: Copywriting, Creative Writing, Lead Generation, Sales, SEO Writing, Social Media Marketing
Country: Canada
click to apply
Categories: WordPress Maintenance

Platform.sh: Now you can save time in a database

News from Planet Drupal - Mon, 03/27/2017 - 01:00

(With due apologies to Jim Croce.)

Our efforts to expand the power and capability of users of Platform.sh continues! The latest addition to our services suite is Influx DB 1.2. Influx DB is a time-series database well suited to recording large volumes of data over time. That makes it a good choice for high-volume logging, data collection, and metrics.

In fact, we are planning to use it ourselves for that last point. Stay tuned…

Categories: Drupal

undpaul: undpaul is in Munich now

News from Planet Drupal - Mon, 03/27/2017 - 00:00
We are used to successfully work with our clients all over Germany. It is not important for us, in what part of the country the next project awaits us. But instead we are eager to prepare a great environment for our team, so it can provide good quality that leads the project to success. Our focus is always on supporting our clients to reach their goals and exceed them. …
Categories: Drupal

New website for SaaS software start up - Upwork

WordPress Work From UpWork - Sun, 03/26/2017 - 21:27
I am looking for a designer to build a wordpress homepage from scratch for a software company I am starting. The software is a SaaS product for the commercial construction industry. Customers will use this homepage to sign up for the web based software as well as log in to the application.

I would like to work with a partner who can not only build the website but also help with graphic design, content and if possible offer up ideas for marketing and SEO.

I would like to start immediately on this project so please be upfront and honest with your current workload and availability for this project.

Thanks!
Cameron Page


Posted On: March 27, 2017 07:47 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: Graphic Design, Web Design, WordPress
Country: United States
click to apply
Categories: WordPress Maintenance

Seeking brand ambassador for new travel app - Upwork

WordPress Work From UpWork - Sun, 03/26/2017 - 16:35
We recently launched a new travel app for women called Bungee Girl (iphone version only available now) and we're looking for marketers to help devise and employ a strategy out outreach for the app. Our primary focus is to promote the app so it's critical that we get the word out. Currently we are using basic social media outlets (facebook, instagram, twitter) but that will only get us but so far. We need greater exposure in the market to affluent women, frequent travelers age 25-34 in large metropolitan areas. Interested in: PR, marketing strategy, SEO, social media marketing

In short, our app serves as a network for solo female travelers and the connection is based on the fact that users have an equal interest in visiting each other's city in a future solo trip. I.e. If I'm from NYC and want to travel alone to London, I would be connected with Londoners who want to travel alone to NYC. It's a mutually beneficial connection where users can help each other out to enhance their trip experience. Using our app, users might find someone they can stay with, hang out with or get advice on where to go, what to do, saving money and staying safe. The idea is to at least provide the connection with the aim to encourage and empower women to travel more often and particularly alone as we believe the personal development is greater on a solo trip. Additionally, on the app users will also be able to find potential travel buddies from their own home city heading to a place they also want to go. It's going to be a tiered roll out just starting out in a few big cities and then add cities based on demand. Lastly, we have a fun feature that lets users create virtual postcards of their trip adventures.

Current featured cities: New York, San Francisco, New Orleans, Amsterdam, Greek Islands, Rome, Copenhagen, Paris, Sydney, London, Marrakech, Bangkok, Dubrovnik, Cape Town, Reykjavik, Auckland, Cartagena

You can download in the App Store at https://itunes.apple.com/us/app/bungee-girl/id1148433674?mt=8

Here is an App Demo Video: https://www.youtube.com/watch?v=Qt8wHr7QAjY

Please feel free to also check out our landing page at www.bungeegirl.com and our Facebook page (www.facebook.com/bungeegirl)

Here is my blog detailing more of my personal story as the founder of Bungee Girl:
https://bungeegirlcom.wordpress.com/2016/10/17/why-one-of-the-most-powerful-women-in-the-world-said-i-inspired-her/

Recent interview done by We Are Travel Girls: http://wearetravelgirls.com/bungee-girl/

Very new to the startup world so open to many different ideas and strategies.

Attached are some screenshots of the app

Thank you,
Maxine Outerbridge


Posted On: March 26, 2017 20:11 UTC
Category: Sales & Marketing > Marketing Strategy
Skills: Content Marketing, Content Strategy, Content Writing, Market Research, Marketing Management, Marketing Strategy, Public Relations, Search Engine Optimization (SEO), Social Media Marketing
Country: United States
click to apply
Categories: WordPress Maintenance