Skip to content

Commit eda5940

Browse files
committed
Issue #2677938 by balsama, timmillwood, josephdpurcell, phenaproxima, jeqq, dixon_: Implement a Workspace Preview System
1 parent 13f9318 commit eda5940

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2122
-118
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ cache:
77
- "$HOME/.drush/cache"
88
- "$HOME/.npm"
99
php:
10-
- 7
1110
- 5.6
1211
env:
1312
- VERSION=HEAD
13+
- VERSION=8.x-1.10
1414
- VERSION=8.x-1.06
1515
- VERSION=8.x-1.05
1616
- VERSION=8.x-1.04

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.10
2+
* Drupal core updated to 8.2.1.
3+
* Introduced Lightning Preview module and Workspace Preview System.
4+
15
## 1.06
26
* Drupal core updated to 8.2.0!
37
* Previously, the Metatag module could break Drush. This is now patched

README.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,13 @@ as many additional states as you like and define transitions between them. It's
5454
also possible to schedule content (either a single node or many at once) to be
5555
transitioned between states at a specific future date and time.
5656

57+
## Preview (Experimental)
58+
The Workspace Preview System (WPS) gives site builders, editors, authors, and
59+
reviews the ability to send collections of content through an editorial workflow
60+
and preview that content within the context of the current live site. WPS is a
61+
collection of contributed Drupal modules with additional configuration UX
62+
improvements that all just works out of the box.
63+
5764
## Installing Lightning
5865
The preferred way to install Lightning is using our
5966
[Composer-based project template][template]. It's easy!
@@ -68,7 +75,6 @@ The roadmap is subject to change, but our projected schedule is:
6875
* QTR3/4, 2016
6976
* Point in time preview
7077
* Personalization
71-
* Workspace Preview System
7278
* Remote replication (store workspaces on external apps)
7379
* Search API integration
7480

@@ -94,11 +100,48 @@ If necessary, edit behat.local.yml to match your environment. Generally you
94100
will not need to do this.
95101

96102
## Known Issues
103+
104+
### Media
105+
97106
* If you upload an image into an image field using the new image browser, you
98107
can set the image's alt text at upload time, but that text will not be
99108
replicated to the image field. This is due to a limitation of Entity Browser's
100109
API.
101110

111+
### Preview
112+
113+
* This functionality relies on Multiversion, which:
114+
* Does not yet have a stable release
115+
* Modifies internal data structures
116+
* Leaves permanent changes in the database after being uninstalled
117+
* Introduces the concept of a trash bin. Deleted content is hidden, but not
118+
immediately removed from the database anymore. It needs to be deleted and
119+
then "purged" to be completely wiped from the database. However, the user
120+
interface to purge deleted content is provided by the Trash module, which
121+
is not yet ready. This makes it impossible to truly delete content from the
122+
UI. (Lightning provides a shim for this, but it only works for nodes at this
123+
time.)
124+
* There are several scenarios where URL aliases might produce unexpected
125+
results, including:
126+
* Pathauto is enabled, but rules are not configured for all content types
127+
* Overriding aliases generated by Pathauto
128+
* Aliases for any non-node entities
129+
* Blocks on the block listing page(s) are not properly filtered by workspace
130+
under certain circumstances.
131+
* The Workspace listing page will display a PHP warning caused by the Workspace
132+
module which is effectively harmless but may look alarming.
133+
* The Author user-reference relationship that is implicit with all Node Entities
134+
is lost when replicating from workspace to workspace. So if UserA creates
135+
NodeB on the Live workspace, and that node is pulled to the Stage workspace,
136+
the Stage workspace will be unaware of the author and will set the author to
137+
Anonymous. Furthermore, if an edit is then made to NodeB on the Stage
138+
workspace, and that edit is pushed back to Live, NodeB on the Live workspace
139+
will also lose its author.
140+
* There is no way yet to properly resolve conflicts between workspaces. Users
141+
can delete conflicting entities from one of the two workspaces to remove
142+
conflicts, but there is no interface yet for picking the winner and keeping
143+
both versions.
144+
102145
[issue_queue]: https://www.drupal.org/project/issues/lightning "Lightning Issue Queue"
103146
[template]: https://github.com/acquia/lightning-project "Composer-based project template"
104147
[d.o_semver]: https://www.drupal.org/node/1612910

UPDATE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,13 @@ use. For example, if you are currently running Beta 1 and are trying to update
5454
to Beta 3, you will need to follow the instructions for updating from Beta 1 to
5555
Beta 2, then from Beta 2 to Beta 3, in that order.
5656

57+
## 1.06 to 1.10
58+
There are no manual update steps for this version.
59+
If you would like to test the new Lightning Preview module and Workspace Preview
60+
System in a development environment, enable the Lightning Preview module from
61+
module listing page. Note that Lightning Preview and WPS are not yet ready for
62+
production environements.
63+
5764
## 1.05 to 1.06
5865
There are no manual update steps for this version.
5966

behat.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@ default:
2121
paths:
2222
- tests/features/bootstrap
2323
autoload: false
24+
selectors:
25+
login_form_selector: '#user-login-form'
2426
imports:
2527
- behat.local.yml

build-lightning.make

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ includes[] = drupal-org-core.make
44
projects[lightning][type] = profile
55
projects[lightning][download][type] = git
66
projects[lightning][download][branch] = 8.x-1.x
7-
projects[lightning][download][tag] = 8.x-1.06
7+
projects[lightning][download][tag] = 8.x-1.10

build.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<property name="profile" value="${docroot}/profiles/lightning" />
1616
<property name="site" value="${docroot}/sites/default" />
1717
<property name="version" value="HEAD" />
18+
<property name="module" value="lightning_preview" />
1819

1920
<!-- Finds Composer, NPM, and rsync. -->
2021
<target name="env">
@@ -117,6 +118,19 @@
117118
<exec command="${drush} config-set system.performance css.preprocess 0 --yes --format=boolean" dir="${docroot}" />
118119
<exec command="${drush} config-set system.performance js.preprocess 0 --yes --format=boolean" dir="${docroot}" />
119120
<exec command="${drush} config-set system.logging error_level all --yes" dir="${docroot}" />
121+
<!--
122+
Install Lightning Preview, which is not installed by default because it's experimental.
123+
Enable passthru() for this as well since it has a lot of dependencies and is therefore
124+
more prone to errors than other extensions.
125+
-->
126+
<exec command="${drush} pm-enable lightning_preview --yes" dir="${docroot}" passthru="true" />
127+
128+
<if>
129+
<isset property="www.group" />
130+
<then>
131+
<chown file="${site}/files" user="${env.USER}" group="${www.group}" />
132+
</then>
133+
</if>
120134
</target>
121135

122136
<!-- Builds the Lightning code base from HEAD, overwriting docroot, and
@@ -125,6 +139,7 @@
125139
<phingcall target="build" />
126140
<exec command="${drush} cache-rebuild" />
127141
<exec command="${drush} updatedb --yes" dir="${docroot}" passthru="true" />
142+
<exec command="${drush} enable lightning_preview --yes" dir="${docroot}" passthru="true" />
128143
<!-- TODO: Execute manual update steps as needed. -->
129144
</target>
130145

composer.json

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@
5353
]
5454
},
5555
"patches": {
56-
"drupal/layout_plugin": {
57-
"2811423: Add public getLayout() method to LayoutBase - via mega patch":
58-
"https://www.drupal.org/files/issues/2747739-26--layout_plugin-alpha22-to-96a5cf90.patch"
59-
},
6056
"drupal/panelizer": {
6157
"2747739 - Mega Patch":
6258
"https://www.drupal.org/files/issues/panelizer--alpha2-1ddfa61--2747739-5.patch",
@@ -94,6 +90,14 @@
9490
"drupal/metatag": {
9591
"2786795 - DrupalConsole integration breaks Drush":
9692
"https://www.drupal.org/files/issues/metatag-deactivate_drupalconsole_services_0.patch"
93+
},
94+
"drupal/workspace": {
95+
"2791789 - Workspace should report conflicts before replication":
96+
"https://www.drupal.org/files/issues/2791789-34.patch"
97+
},
98+
"drupal/replication": {
99+
"2814055 - Allow modules to react to replication events":
100+
"https://www.drupal.org/files/issues/2814055-2.patch"
97101
}
98102
}
99103
},
@@ -120,9 +124,18 @@
120124
"drupal/metatag": "8.1.0-beta10",
121125
"drupal/token": "^8.1.0",
122126
"drupal/pathauto": "^8.1.0",
127+
"drupal/multiversion": "8.1.0-alpha10",
128+
"drupal/workspace": "8.1.0-alpha3",
129+
"drupal/replication": "8.1.0-alpha4",
130+
"drupal/key_value": "^8.1.0",
123131
"drupal/entity_browser": "8.1.0-alpha9",
124132
"drupal/views_infinite_scroll": "^8.1.1",
125133
"drupal/media_entity_document": "^8.1.0",
126134
"drupal/video_embed_field": "^8.1.0"
135+
},
136+
"autoload": {
137+
"psr-4": {
138+
"Acquia\\LightningExtension\\": "src/LightningExtension"
139+
}
127140
}
128141
}

0 commit comments

Comments
 (0)