Revisions System

Revisions System

Note: It is very important to keep regular backups of your site. There are certain scenarios where the Oxygen revisions system cannot help you, and a backup will be the only way to recover your designs.
Oxygen's revisions system grants some redundancy and recoverability to your designs. You can access the revisions for any post or template by clicking the +Revisions link at the bottom of the Oxygen meta box.

Revisions are created every time you click Save in the Oxygen builder, as long as the design has been saved at least once.
To preview a revision, click the "Preview" link in the revision list. This will launch that version of your design in a new tab.
Once you have found the revision you'd like to restore, click the "Restore" link and that version of your design will be restored. The design that was active before you restored will also be saved as a new revision. You can now see which revision of your design you are using by looking for the (current) indicator in the revision list.

Role Manager

Role Manager

By default, access to Oxygen is only available to administrators. Access to Oxygen can be granted to other user roles at Oxygen -> Settings -> Role Manager in the WordPress admin.
Oxygen's role manager works with the WordPress default user roles, any additional user roles added by custom code, and any additional user roles added by 3rd party plugins such as User Role Editor.
Important Security Information
Access to Oxygen should only be granted to trusted users. Because Oxygen provides the ability to execute PHP code, any user granted access to Oxygen could run PHP code to make themselves an administrator.

Security Considerations

Security Considerations

Shortcode Signing
At Oxygen -> Settings -> Security you can choose to prevent Oxygen from executing its shortcodes if they lack a valid signature by selecting "Check Oxygen's shortcodes for a valid signature before executing". As of Oxygen v3.2, an invalid signature warning will only be shown in the WordPress admin area and not on the front-end of the site.
To harden Oxygen against potential attacks, it is highly recommend you enable this option. It is enabled by default for new installs of Oxygen 2.1 and up.
If you wish to show the invalid signature warning on the front-end of the site, you can enable "Show invalid shortcode signature warnings on the front end" via Oxygen -> Settings -> Security.
Shortcode Signing Explained
Oxygen stores the elements on your page as WordPress shortcodes. At runtime, those shortcodes are compiled into PHP, HTML, CSS, and JavaScript.
If another plugin on your site has a security hole which lets unauthorized users execute shortcodes, they could execute Oxygen's shortcodes. Since Oxygen's shortcodes allow for the execution of PHP, they could run any arbitrary PHP code they want on your site - in other words, change your admin password, steal all your user data, or do literally anything else.
Of course, this attack would require another plugin to be present on your site with a security flaw that allows unauthorized users to execute shortcodes. But since it is likely many of these plugins are floating around, it is highly recommended you enable this option.
The only way to generate a valid signature is to have access to the signing keys, which are unique and randomly generated when you install Oxygen. These are stored in your wp_options table, so only a site admin or an attacker who could otherwise read data from your database could get the keys and sign a shortcode.
Further reading: http://www.pritect.net/blog/wordpress-shortcode-injection-attack-vector
WordPress Multisite
By giving users on a multisite network access to Oxygen, you』re giving them the ability to write PHP code from within Oxygen using elements like Code Block or Easy Posts.
Obviously, this means they could they could execute any arbitrary PHP code - just like if you gave them the privilege to install plugins or edit theme PHP files.

Selector Detector

Selector Detector

Selector Detector is an advanced utility tool that helps you to detect CSS selectors for HTML output displayed inside Oxygen. It is most commonly used to create styles for plugin output like contact forms inside of Oxygen.
Selector Detector is available for Widgets, Shortcodes, Code Blocks, and some other Oxygen elements that output nested HTML.
Enabling Selector Detector
Selector Detector must be enabled before it can be used. To enable it, from the WordPress admin panel, go to Oxygen -> Settings and check the Enable Selector Detector checkbox.
Detecting CSS Selectors
To find a selector using the Selector Detector, click the Widget, Shortcode, Code Block or other element you wish to detect selectors for. If Selector Detector is available for this element, a Style Output button will appear at the bottom of the left panel.
Click Style Output, then click any content inside of the active element to detect selectors for it.

Using Adobe Fonts

Using Adobe Fonts

Adobe Fonts (formerly Typekit) is an online library of fonts. To use Adobe Fonts with Oxygen, you'll need to have an Adobe Fonts account.
Choosing an Adobe Font

Login to fonts.adobe.com.
Click Browse Fonts at the top left corner of the page.
Find a font you like and click it.
On the next page, click Add to Web Project.

Add Font to Web Project

On the modal window that pops up, click the "Create or add to existing project" drop down to create a new web project or add the font to an existing project.
Click Create or Save.

Obtaining an API Key and Entering it in Oxygen
On the Adobe Fonts website, click your account avatar at the top right of the screen, then click API Tokens.

On the next screen, click "Make me a new API token" to generate an API token.
Once you have your API token, go to Oxygen -> Settings -> Typekit on your Oxygen site. There, enter the API token provided by Adobe Fonts and click Submit. Once the key is validated, you'll have a Kit to use with Oxygen dropdown populated with all of the available web projects from your Adobe Fonts account. Choose one and click Submit. Now, any Adobe Fonts included in the web project you selected will show up in all of Oxygen's font family dropdowns. If they don't show up in the list, simply search for them and they will appear.

Using Custom Fonts

Using Custom Fonts

You can upload custom web fonts (.woff, etc.) to the Oxygen using the Elegant Custom Fonts plugin or the
Use Any Font plugin.
To add a font using Use Any Font, follow these steps:
Click Use Any Font  in the WordPress admin menu
Click "Generate Free Lite / Test API Key" and then click "Verify" (or add your API key if you have one)
Go to the "Upload Font" tab and click "Add Fonts" on the right hand side
Give the font a name, select the font file from your computer and click "Upload"

The added font now automatically appears in all Oxygen's Font Family lists.
To add a font using Elegant Custom Fonts, follow these steps:

Once the plugin is installed and activated, click Manage Fonts
Click Add Font Family, type font family name, then click Add Font Family

Click add @font-face, then choose font-weight and font-style.
Specify .woff URL, then click Add Font Face.

The added font now automatically appears in all Oxygen's Font Family lists.

Using Oxygen with Page Builders

Using Oxygen with Page Builders

Oxygen is compatible with page builders such as Elementor, Beaver Builder, Themify Builder, Thrive Architect, Visual Composer, and any other page builder that controls the output of the function the_content() in WordPress.
To use Oxygen with page builders, create a Template from Oxygen -> Templates.
Design the template as desired, typically with a header and a footer.
Where you want the content editable by the page builder to be placed, use the Inner Content element. Go to +Add+ -> Basics, scroll down to Other, and select Inner Content to add it to your template.

All items rendered with this template will now work with your page builder. You may use the page builder to create content inside the Inner Content container.
Do You Need a Page Builder with Oxygen?
No, of course not. You can design your entire site with Oxygen.
However, one reason you might want to use Oxygen with a page builder is that maybe you already have built a site using a page builder, and you don't want to redo it all in Oxygen yet, but you still want to install Oxygen to replace your theme and take more control over your headers, footers, and other site templates.

Embedding Plugins

Embedding Plugins

You can use Oxygen with most WordPress plugins. In general, they will behave just as they do when using them with a normal WordPress theme.
Some plugins generate output that you would like to insert into your page. You may display this output using a Shortcode, Widget, or Code Block.
Shortcode
Many plugins can be embedded into a page using a shortcode.
Shortcodes are commonly used to embed contact forms, event calendars, elaborate sliders, pricing grids, and more.
To display some content via shortcode, click +Add > WordPress > Shortcode.
The copy and paste the plugin's shortcode into the the Full shortcode field in Oxygen.
To wrap elements designed in Oxygen with a shortcode, use the Shortcode Wrapper element.
WordPress Widgets
To add a widget to the page created with Oxygen, click +Add > WordPress > Widget and choose the one you need from the list. Though they are usually used in sidebars, in Oxygen you may add these elements anywhere on the page.
In general, you can edit widgets settings inside Oxygen. However, some widgets make use of elaborate JavaScript and other functionality which will not run inside the Oxygen editor. These widgets must be edited in the WordPress admin panel.
Code Block
Using a Code Block element, you can write the PHP/HTML/CSS/JavaScript code necessary to display your dynamic content. This code could contain the WordPress loop, calls to get_post_meta, or any other WordPress API functions. The code added with Code Block element behaves just as if you wrote it in a standard WordPress template file.
To add a Code Block, click +Add > Basics > Code Block.

Styling Plugins

Styling Plugins

To style plugin output, Selector Detector must be enabled from the Oxygen > Settings page in the WordPress admin panel.
Selector Detector allows Oxygen to style content that is coming from outside of Oxygen, for example:

WooCommerce Products
bbPress Forum Topics
WooCommerce Shop, Cart, and Checkout pages
Easy Digital Downloads download history pages

Plugin Pages Rendered With Inner Content or Dynamic Data
When a plugin page is rendered with an Inner Content or Dynamic Data, it generally means a Template is applied to that plugin page, and that Template has an Inner Content or Dynamic Data element that is displaying the plugin's output.
To customize the styles for the plugin's output, open the Template that is applied to the plugin page.

Select Oxygen > Templates, then click Edit next to the template title.
Click Edit with Oxygen to open the template in Oxygen.
Preview the plugin page by choosing it from the Preview dropdown
Click anywhere on the plugin's output, or click the Inner Content or Dynamic Data element that is outputting the plugin's content.
Click the Style Output button to style the plugin output.

Plugins Embedded With Shortcodes, Widgets, or Code Blocks
When a plugin is embedded on a page using a shortcode, widget, or Code Block element, click the Style Output button at the bottom of the Primary tab for that element to style the plugin out.
If no Style Output button is available, Selector Detector must be enabled from the Oxygen > Settings page in the WordPress admin panel.