Editing WordCamp CSS Locally with Git

One of the Improving WordCamp.org projects is to let organizers develop their CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. locally, and then commit it to a version control system like GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/., and have it automatically updated on their WordCamp.org site. This is the project that I think will make the most impact for organizing teams with experienced developers.

The benefits are that:

  • You avoid all of the pain points of editing CSS in a browser.
  • You can use whatever IDE and other tools that you normally use.
  • You get all the benefits of a version control system, like easier/safer collaboration, history, and a structured approach.

So, I’d like to discuss the best way to implement a system like that.

Implementing a solution

After thinking about it for awhile, this is the best approach I’ve come up with:

(Note: This process has been updated since it was originally published, to incorporate feedback from the comments.)

  1. Add a new wp-admin screen under the Appearance menu, called something like “Remote CSS”. It will have a field where you can enter the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for a CSS file, and a button to pull CSS from that repository and enqueue it locally. The CSS file can be in a source control repository like Git, but it doesn’t have to be.
  2. The CSS file can be named anything, and it can be built from supporting SASS/LESS/etc files, but only the CSS file will be used by WordCamp.org; everything else will be ignored.
  3. The contents of CSS file will be passed through Jetpack’s CSS sanitization functions, and if there’s anything left, the safe CSS will be cached. If there are any errors while fetching the file, the process will abort to avoid overriding the known-good version that’s already stored on WordCamp.org.
  4. When front-end pages are loaded, the cached CSS will be enqueued as a extra stylesheet, similar to how Jetpack’s Custom CSS is enqueued.
  5. To automate updates, there will also be an endpoint listening for webhook notifications of pushes to source control repositories. If the files changed in the pushed commits include the CSS file, the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party will automatically fetch the latest version, sanitize it, and cache it. Updates will be limited to once every 3 minutes, to prevent abuse. Rate-limited notifications should be queued and acted on once the limit has expired.
  6. If the fieldon the Remote CSS screen for the CSS file is empty, we’ll display step-by-step instructions for setting up the CSS file, webhook, and a local WordCamp.org sandbox. If the file is hosted on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/, we’ll also recommend enabling two factor authentication, to mitigate the risk of a compromised account leading to CSS defacement or other malicious changes.
  7. A new metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. box could be added to the Appearance > Custom CSS page to advertise the option of using a remote repository.

Does anybody see any problems with that approach, have a different idea, or have any other feedback?

 

#git, #improving-wordcamp-org, #jetpack-css-editor, #official-websites, #wordcamp-org

Allowing Custom PHP and JavaScript on WordCamp.org

By far the most common request in the WordCamp.org tools survey results was for the ability to write custom PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. and JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.. This is definitely understandable, because being limited to only modifying CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. does significantly restrict what you can do with your site.

Why not allow custom PHP and JavaScript?

The reason that this restriction exists is because there would be very serious security and maintenance implications if we were to open things up.

Security is very hard, even for experienced developers. Everybody makes a mistake at least occasionally, and many developers don’t realize how often  they do.

There’s no doubt that allowing unreviewed PHP or JavaScript would introduce critical vulnerabilities, not just to WordCamp.org, but to the rest of the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ infrastructure as well, and even to regular WordPress sites interacting with the infrastructure.

WordCamp.org is connected to the rest of WordPress.org in several key ways, and the right kind of vulnerability (or combination of vulnerabilities) could allow an attacker to do some pretty scary things, like silently stealing password hashes or authorization cookies. If they targeted someone with commit access to CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., WordPress.org, or a popular pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, then the results would be severe.

Of course, we have access controls, monitoring, and other systems in place to minimize the chance of an attack and mitigate its effectiveness, but the essential threat is there and can’t be downplayed.

 

Why not just review custom code before it’s committed?

We just don’t have the resources to review that much code. There are only two developers who handle the vast majority of the work on WordCamp.org, and both of us also have responsibilities on other projects. So, we have roughly the equivalent of one full time developer. There were 80 WordCamps in 2014, and that number grows every year.

Conducting a thorough security audit and code review takes a significant amount of time, and simply isn’t possible with the resources we have.

Imagine giving hundreds of developers access to one of your high profile sites, or committing to review hundreds of themes and plugins every year while still trying to build new features and iterate on existing ones.

 

Other potential solutions

  • Assemble a team of volunteers to review code – Because of the security concerns, any volunteers would need to be very experienced and a trusted member of the community, and because of the volume of sites, we would need to have a lot of them. I don’t think we’d be able to keep up with the demand, and we’d also be taking those people away from contributing to other projects. It’d be much more efficient and make a bigger impact if those people collaborated on projects that could be shared between all camps instead.
  • Let everyone host their own site – This is how things were in the early days, but we moved to a centralized platform because it was common for domain names to expire, or for the current year’s team to be unable to post an announcement to the previous year’s site, or for sites to be unmaintained and get hacked, etc. It would also mean that organizers would have to spend extra time setting up hosting, and, because of security concerns, anything that requires connecting to WordCamp CentralWordCamp Central Website for all WordCamp activities globally. https://central.wordcamp.org includes a list of upcoming and past camp with links to each. or the WordPress.org infrastructure would become much more complicated (e.g., centralized payment requests and ticket revenue collections, single sign-on, integration with Profiles.WordPress.org, etc).
  • Create each site inside an isolated, virtual container – That would require a lot of work from the Systems team, who are also very limited on resources, and it would have the same downsides as above, where anything that connects to Central or WordPress.org would become much more complicated.
  • Only let experienced developers write custom code – The security concerns would force us to set the bar very high, and evaluating a developer’s qualifications is itself a time-consuming process, so this would only impact a small number of camps. It could also make it appear like certain camps were getting special treatment, and lead to hurt feelings when someone who feels like they’re experienced enough isn’t accepted.

 

What makes the most impact?

WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. sites are tools that help organizers communicate with attendees. It’s great to have a design the community can take pride in, and working on the site can definitely be a community-building experience, but volunteer hours are limited. It’s best to focus on things that will inspire and connect attendees at the event, rather than making the website perfect.

At the end of the day, attendees will be helped the most by the sessions, workshops, networking, and contributing that goes on at the event.

The goal of WordCamp.org is to give organizing teams something that works out of the box and facilitates all of the basic conference services that most WordCamps need, so that you can spend your limited time on the event, rather than the website for the event.

 

Solutions that benefit everyone

Allowing organizers to write custom PHP/JavaScript isn’t the real goal, it’s just a means to an end; and I think there are better ways to get there.

For the most part, all of our camps have very similar needs, so rather than each one re-inventing the wheel on their own, it’s much more efficient if we collaborate on solutions that work for everybody.

The survey results helped us identify the worst pain points with the current tools, and we’re planning solutions to improve the CSS editing experience, to give more theme/template options to choose from, and to be able to easily clone another camp’s site instead of having to start from scratch. The feedback on all of those was that they’d have a huge impact on everyone’s ability to create the sites they want.

I think that focusing our time and energy there is going to be much better for everyone in the long term. If you’d like to help move those projects forward, please check out the survey recap for next steps.

And if there’s a project that would benefit everybody, but it’s not on that list, you can always work with the Community Team to build a consensus for it, and organize a group of developers from local communities to contribute it. You don’t have to be a developer yourself; many projects need people to organize everything, create designs, write documentation, perform user testing, etc.

#improving-wordcamp-org, #maintenance, #official-websites, #security, #wordcamp-org

WordCamp.org Tools Survey Results

The results from the WordCamp.org tools survey are in. Each PDF below has a chart with the totals, along with the anonymous feedback that was given.

 

Allowing Custom PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. and JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

By far the most common feedback was about the desire to write custom PHP and JavaScript. That deserves to be discussed, but it’s a big enough topic that it should have its own conversation, so I started another post with a detailed explanation of the reasons behind the limitation.

 

How well does Jetpack’s CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. editor meet your needs?

  • A surprising number of organizers were happy with the editor (62%), but that still leaves almost 40% who aren’t.
  • The most common frustrations were losing your place when the page reloads to save changes, and having changes overwritten when multiple people are editing at the same time. Both of those were problems we identified as things to fix if we choose to focus on improving Jetpack rather than building an alternative solution.

 

If we were to improve the CSS-editing experience, which approach would you prefer?

  • Supporting a local development workflow was more popular by 10% (actually, a bit more if you include several of the “Other” answers that were similar).
  • I think it’s likely that the people who voted for improving Jetpack are mostly happy with the editor, but just wish it were better; while people who voted for an alternative approach aren’t really happy at all. So, improving Jetpack would make a moderate impact, but building the alternative approach would make a big one. Based on that, I think we should pursue the local development workflow.
  • Jetpack won’t be going away, of course, and it will still receive any improvements that ship with future versions. So if you’d like to see the CSS Editor issues resolved, you can still send pull requests to Jetpack, or encourage developers in your local community to do so.
  • Several people suggested we do both, and of course the two options aren’t mutually exclusive, but we do have very limited resources, so we need to prioritize the things that will make the most impact and do those first.
  • People overwhelmingly requested GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/.(Hub) over SubversionSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/.. I’d like to see us explore this first, since most teams are much more familiar with Git than SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/., which makes SVN more of a barrier than a benefit. I can foresee there being some logistical challenges that we wouldn’t face with Subversion, but it’s worth a shot.
  • See the Next Steps section at the end if you’re interested in helping out with this.

 

To have more options when customizing your site, which would you prefer?

Page templates were the favorite choice by a wide margin, but I’m worried that I didn’t word this question very clearly, and that may have skewed the results. I assumed that everyone would already be familiar with the previous discussion that contains details on the proposal, but some of the responses make it sound like some people thought that “have the ability to create custom page templates” meant that they could freely upload unreviewed custom templates, which isn’t what had been we originally discussed.

The templates would have to meet certain criteria, and be reviewed for security and other concerns before they could be added to WordCamp.org. We wouldn’t want to end up with dozens of templates that are only relevant to a single camp, or to have to review new templates for every site, so I think we’d have to require that the templates be generic enough to be reused by other camps, and that they only be created when there is a significant need that can’t be accomplished with CSS alone.

To clarify, I started a new survey with just this question, but better descriptions of the answers. I also added a new option, which incorporates one of the suggestions from the survey, which was to allow a group of organizers to build a new custom theme to fit the specific needs of WordCamps, which would then be reviewed and made available to all camps.

Please take that survey to help us move forward with this project; it closes at midnight UTC on June 16th.

 

Several people suggested that we add more themes and custom page templates, which is an option, but unless there are enough volunteers to work of both in parallel, we’ll need to prioritize the one that makes the most impact first.

Allowing inline SVGs was another thing that was mentioned several times. WordCamp.org doesn’t actually blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. them, WordPress itself does. SVGs are awesome in a lot of ways, but they’re not the benign images most developers think of them as; they’re really XML applications that can run arbitrary JavaScript and embed external resources.

Once Core finds a way to safely allow them to be uploaded, though, WordCamp.org will automatically inherit the solution. In the mean time, you can still use SVGs as background images via CSS, which has most of the benefits but without the same security concerns.

 

Of the four projects identified in the make/Community posts, how much would each of them benefit you?

D’oh, comments were disabled for this question, that was a mistake on my part. Please leave them on this post if you’ve got any feedback.

All of them ranked pretty well, so it looks like we picked good projects. Improving the CSS-editing experience and adding more themes/templates were the most popular, followed by cloning a site and then docs.

 

Is there anything that would benefit you more than those 4 projects?

There were a lot of comments here, but no big themes among them, and many of them would actually be solved by the proposed projects, so I think we should stick with the ones we’ve got. This is still a good list of things to keep in mind for the future, though.

 

Do you have any other comments or feedback?

This one also has some good feedback, but nothing that would shift our direction.

 

Existing Tools You Might Not Know About

There were a handful of answers that requested tools we already have:

  • The Tagregator pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party pulls in social media posts with your hashtag from Twitter, Instagram, Flickr and Google+. Check out the “Social Media Stream” page that automatically gets created on new sites.
  • You can e-mail attendees based on discount codes and other filters with CampTix. Look for the Tickets > Tools > Notify screen.
  • You can embed live streams from Livestream.com, Ustream and DaCast using shortcodes.
  • If you use the Call for Speakers form that is automatically added to new sites, then any submissions will be automatically converted into drafted Speaker and Session posts, which can you publish or delete when you decide which ones to accept.
  • Session posts have a metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. box to add URLs for the slides and WordPress.tv video. If you fill those in they’ll automatically be shown in the sessions shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site..

 

Next Steps / How to Get Involved

For each of the projects, we’ll need people to help brainstorm ideas, give feedback, and write code.

  • Clone another camp‘s theme/CSS/etc: This project needs a few developers to test the prototype and report/fix any issues.
  • More Themes/custom templates: The data for this question may have been skewed, so please answer this revised question to make sure we have good data to base decisions on. Once the results from that are in, I’ll post them here and we can discuss how to move forward.
  • Local CSS development and better documentation: We’ll need to discuss the details for these and come up with a plan. Once the conversation on this post dies down, I’ll start new posts for them so that we can have a focused discussion.

 

#improving-wordcamp-org, #official-websites, #wordcamp-org

WordCamp Organizer Survey

We’ve had several good discussions on ways to improve the tools used on WordCamp.org, and now it’s time to collect some hard data so we can know how to move forward.

If you’ve worked with any of the WordCamp.org tools — custom post types, Jetpack CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. editor, widgets, etc — in the past 18 months, please fill out this 6-question survey:

http://wordcampcentral.polldaddy.com/s/improving-wordcamp-org-tools

 

Anyone on an organizing team who has used the WordCamp.org tools is encouraged to take the survey, but I’m pinging the people who took part in the previous discussions to make sure they don’t miss it: @ryelle, @harbormark, @chanthaboune, @nvwd@kovshenin, @rafaehlers, @davidjlaietta, @dimensionmedia, @mj12982, @iandstewart, @miss_jwo@topher1kenobe, @jenmylo, @georgestephanis, @bandonrandon@cliffseal@valeriosza@hlashbrooke@lcrddz

#improving-wordcamp-org, #official-websites, #survey, #wordcamp-org

Improving WordCamp.org: Adding More Themes and/or Page Templates

This post continues the previous discussions we’ve had on the project to improve WordCamp.org. If you’d like some background information, you can check out the notes from the 2014 Community Summit and the discussion on the CSS Editor.

* * * *

 

One of the most common pieces of feedback has been that, when organizers are building their sites, they want more themes and/or page templates to choose from. The goal of this post is to start a conversation on that topic and hash out the details of what we want and how to move forward.

Right now organizers can only choose from the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. themes (TwentyTwelve, TwentyFourteen, etc) plus the WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Base theme, a custom theme that was written specifically for WordCamps. Organizers can’t edit the PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php., HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. and JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. of the themes due to security and maintenance concerns, so customizing the CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. is the only way to create a new design. There’s a lot that can be done with just CSS, but sometimes organizers still wish they had more options.

Define the Problem and Goals

I think it’d help to have some specific examples of limitations, and to describe what the goals are in having more choices. These questions should help start the discussion, but feel free to ask/answer others too.

  • Have you run into limitations customizing your site? If so, can you describe them?
  • Do you find that it takes too much work to transform the design of the available themes into your custom design?
  • Do you run into situations where you can’t achieve the design you want without modifying the theme’s HTML?
  • Are there other major problems that you run into?
  • What do you think would be good solutions to the problems you found?

Potential Solutions

So far two potential solutions have been discussed: making more themes available to choose from, and providing a way for organizers to submit custom page templates for any available theme.

They’re not mutually exclusive, so we could possibly do both, but we have limited resources, so I think it’d be best to pick the one that will make the most impact and focus on that first. After the first round of improvements are made, we can reassess where we are and what to do next.

Other than those two, are there any other solutions that should be considered?

Adding More Themes

The first potential solution would be to simply make more themes available to organizers. This would save time in some cases because you could start with something that is closer to your custom design.

It would also provide a wider variety of layouts and templates, which could solve some of the problems related to needing a specific layout in order to achieve a particular custom design. If a developer did run into that problem, though, they would still be stuck because they wouldn’t be able to edit the HTML.

Just like with plugins, we have to be careful about security, performance, etc when adding more themes, but those concerns could mostly be mitigated by picking themes that are available in both the WordPress.org directory, and on WordPress.com. Those themes have passed an exhaustive review by trusted developers, so we would be able to assume that they’re safe without having to audit them ourselves.

Do you think this is a good solution? If so, which specific themes would you choose?

Are there any problems with it?

Accepting Custom Page Templates

Another potential solution would be to allow organizers to write custom page templates, so that they could create custom layouts for the content area if their design required it. The templates wouldn’t affect the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes., sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. or footer, though. In order to use the templates, we’d need to create child themes for the existing themes, and add them there.

The templates would have to meet certain criteria, and be reviewed for security and other concerns before they could be added to WordCamp.org. We wouldn’t want to end up with dozens of templates that are only relevant to a single camp, or to have to review new templates for every site, so I think we’d have to require that the templates be generic enough to be reused by other camps, and that they only be created when there is a significant need that can’t be accomplished with CSS alone.

What do you think about this solution? Are there any specific page templates that you think would be useful?

Are there any problems with it?

 

Do you have any other thoughts or comments?

 

Everyone is encouraged to particpate in the discussion, but I’m pinging the people who took part in the previous discussions to make sure they don’t miss the post: @ryelle, @harbormark, @chanthaboune, @nvwd, @kovshenin, @rafaehlers, @davidjlaietta, @dimensionmedia, @mj12982, @iandstewart, @miss_jwo, @topher1kenobe, @jenmylo, @georgestephanis

#community-summit, #improving-wordcamp-org, #official-websites, #page-templates, #themes, #wordcamp-org

Improving WordCamp.org: User Experience of the CSS Editor

One of the discussions we had at the 2014 Community Summit was about customizing WordCamp.org sites, and we identified some of the worst pain-points that organizers currently have.

One of those problems was that customizing a theme’s CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. is difficult and frustrating. Currently, organizers use Jetpack’s CSS Editor, which works well for small tweaks, but isn’t really intended for the types of major overhauls that most WordCamps are doing. Some of the biggest problems are:

  • There isn’t any post-locking or version control, so it’s easy for two users to accidentally overwrite each other’s changes
  • Saving edits requires a page refresh, which makes you lose your place. With larger rulesets, finding your place again takes too long and often breaks mental “flow”, which is frustrating.
  • The browser’s built-in Find functionality doesn’t always work
  • The rules can’t be modularized into small, manageable files — and then recombined during processing — for easier development and maintenance.
  • Many consider editing in a browser to be a subpar experience to using an IDE with features like code-completion
  • Cross-browser/device testing can’t be easily done with the Preview functionality
  • Syncing between production and a local testing environment has to be done manually
  • Time-saving tools like LiveReload can’t be used.
  • There are two scroll bars (one for the page itself, and then another inside the editor), which makes using the scroll wheel on a mouse annoying.

So, how do you think we should move forward and made it easier for organizers to customize their theme’s CSS?

#community-summit, #improving-wordcamp-org, #jetpack-css-editor, #official-websites, #user-experience, #wordcamp-org

Improving WordCamp.org: Notes from the 2014 Community Summit

At the 2014 Community Summit there was a breakout discussion that focused on ways to improve WordCamp.org. You’ll find the notes from that discussion below, which are being posted here so that the discussion can continue with the participation of everyone who’s interested (not just those who were able to make it to the Summit).

Kudos to @dimensionmedia for taking the notes. It’s impossible to catch everything, though, so if anyone remembers any ideas or remarks that didn’t get recorded, please post them in the comments (but please don’t reveal the identity of the person who made the remark, since the Summit was a safe space.)

* * * *

Most of the discussion centered around the desire of organizing teams to customize their site more than they currently can, or making it easier to customize.

The top 5 pain-points of people present at the discussion were:

  • CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. Editor
  • Lack of custom JS
  • Lack of accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
  • Theme Repo Is too small
  • Possibility of crafting default theme

Customization of WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. themes

This was more of a passionate subject than you would think. First we discussed best ways to share code with other WordCamp sites that already have great designs, because not every camp has access to a designer. Since WordCamp sites only allow CSS as custom code, right now it’s a copy/paste process.

We talked about two main areas of customization: design and functionality.

Design wise, we talked about how extendable current themes are and maybe aren’t. We talked about the hacking that needs to be done in certain situations. And we talked about having a potential gallery of WordCamp sites that organizers can choose from – greater availability of choices than what we currently have. Offering themes that have already been audited by WordPress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ (but are also available in the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ repository) might be an easy way to add more choice.

We also talked about maybe making certain large sections of a theme as a widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. to begin to allow custom HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. in addition to the custom CSS. Or possibly creating more page templates that meet common needs.

Functionality wise, we came up with some potential interesting ideas for WordCamp sites. We talked about how some customizations have come about and been implemented. And also possibility of allowing WordCamps to experiment with a concept or idea, and then bring it to the attention of the WordCamp development team, which is by the way run only by two people and they deserve a ton of praise for that. Some of the more simple ideas, like commenting for asking questions.

So our takeaway was understanding current limitations, primarily for security. But also allowing flexibility for great designs and concepts for future WordCamps.

Why we disallow custom PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. code: every single pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party would have to be maintained forever and also looked over to make sure the code is secure. If there was a security vulnerability on WordCamp.org, then that would put WordPress.org in a position to be hacked, since they’re connected. We also try to create solutions that work for all WordCamps, rather than just a single camp doing something on their own. Contributions can be made to the Meta trac and integrated for all WordCamps to use.

Miscellaneous

  • We also discussed perhaps converting each site to static HTML after the camp is over, which would allow us to remove the burden of constantly maintaining plugins. Maybe use commenting for archives.
  • MailPoet has the ability to integrate with WordPress, providing basic functionality that could be useful for other WordCamps. CampTix has some MailChimp integration; it collects stats, and delivers information back to WordCamp.org. We want to own that data, not a third-party.
  • Sessions might be extended be custom post types.

So say we all.

* * * *

After the Summit, @ryelle built a prototype for a way to easily clone another WordCamp’s CSS and other visual elements, to help organizing teams get a quick start on their own site. Kelly, could you please post that code to MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/., so that everyone can check it out and collaborate on it? A couple screenshots in the comments would be awesome too, for those who aren’t developers.

I’ve also spent some time thinking about how we could improve the CSS-editing experience, but that’s a big enough topic that it warrants a separate discussion, so I’ve started another post for that.

If you have any thoughts on anything mentioned above, or have an idea to improve WordCamp.org that hasn’t been mentioned yet, please post it in the comments 🙂

 

Everyone is encouraged to particpate in the discussion, but I’m pinging the people who took part in the original discussion to make sure they don’t miss the post: @ryelle, @harbormark, @chanthaboune, @nvwd, @kovshenin, @rafaehlers, @davidjlaietta, @dimensionmedia, @mj12982, @iandstewart, @miss_jwo, @topher1kenobe

#accessibility, #customization, #improving-wordcamp-org, #jetpack-css-editor, #maintenace, #official-websites, #security, #themes, #wordcamp-org