Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/AlchemyCMS/alchemy_cms

Alchemy is the Open Source Rails CMS framework for the component based web that can be used as classic server side rendered or headless CMS.
https://github.com/AlchemyCMS/alchemy_cms

Make sure essences have their contents on initialization

If we do not pass the content when building an essence,
`after_initialize` hooks do not have acc...

d274588e0358555d700e47d24c0f95bac77d929f authored over 3 years ago by Martin Meyerhoff <[email protected]>
Add an Alchemy::EssenceHeadline

This adds an Alchemy::EssenceHeadline. It has the following features:
When used as a preview tex...

456796f1adac1a573663c28fc147d272f2c11c90 authored over 3 years ago by Martin Meyerhoff <[email protected]>
Merge pull request #2062 from mamhoff/touch-elements-after-update

Touch Elements only after update

343cc8a905cfb7d14dade636bef709105867ba3d authored over 3 years ago by Thomas von Deyen <[email protected]>
Touch Elements only after update

When an essence has a related object, such as a picture or an
attachment, we need to break cache...

9eb2fdc6e7b6c187cec8f2a32122d41292b12234 authored over 3 years ago by Martin Meyerhoff <[email protected]>
Merge pull request #2058 from mamhoff/preview-page-link

Convert "Visit page" button to "Link to new tab"

9ec35e5ed0fc174bf6c93d0ebcd55b6841a42f4f authored over 3 years ago by Thomas von Deyen <[email protected]>
Do not run JS on visiting the page currently being edited

4e6ee4cf5a6f8942b619b9cf1d780a49be2662fd authored over 3 years ago by Martin Meyerhoff <[email protected]>
Remove visit action from admin pages controller

The benefit of this action was that it would unlock the page before
allowing the user to visit i...

28a09ac03a7807db477f089462fbe4a039acc28e authored over 3 years ago by Martin Meyerhoff <[email protected]>
Refactor "Visit page" button to link to page

This allows an editor to stay in their Alchemy window while previewing
a page.

27f8906a0da2921bf9538e9c9ccda88c7b11a46b authored over 3 years ago by Martin Meyerhoff <[email protected]>
Merge pull request #2057 from mamhoff/allow-creating-essence-richtext-without-content

Allow creating an EssenceRichtext without a content

793d32417e25e9168a0e759e93bbb3cd0052c962 authored over 3 years ago by Thomas von Deyen <[email protected]>
Allow creating an EssenceRichtext without a content

This worked before adding the sanitization. The problem is that if there
is no content, we pass ...

1c11fbbcb4acad3fbf4327a0bcd26caa51cdec64 authored over 3 years ago by Martin Meyerhoff <[email protected]>
Sanitized richtext body (#2055)

* Add "Sanitized Body" to Alchemy::EssenceRichtext

Often, we want HTML, but not all the thing...

50171977b1d1474ca4412e558a6d537eee5c98b7 authored over 3 years ago by Martin Meyerhoff <[email protected]>
Merge pull request #2056 from mamhoff/element-without-ids

Allow instantiating a content on an unpersisted valid element

365ea46db8d9c6a014ffd7a535266e0fdba99345 authored over 3 years ago by Thomas von Deyen <[email protected]>
Do not expect an element to be persisted when building a content

Rails don't need a content, and neiter do we.

abcaf18b7ecc40a07358e8e7889f8a5c8dc7494d authored over 3 years ago by Martin Meyerhoff <[email protected]>
Make sure an essence knows its content when being copied

When copying an Essence, it needs to know its content - otherwise it
can't figure out what optio...

7e65a5ebd0c7a7acc293006223cfd210e84b2c1d authored over 3 years ago by Martin Meyerhoff <[email protected]>
Merge pull request #2054 from tvdeyen/minimize-rails-deps

1a9380dc46cf26ca56afe30764f582b77e5c536a authored over 3 years ago by Thomas von Deyen <[email protected]>
Only require the Rails gems we actually need

This reduces the number of dependencies we have to the ones
we actually need. Removing the need ...

628af3620663fcbc8cc3f5bdef12422c063e2675 authored over 3 years ago by Thomas von Deyen <[email protected]>
Autoformat gemspec file

7514d6b7488853e553b1c38772a8d6c510572d44 authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2052 from tvdeyen/fix/create-nested-element

Fix add nested element with multiple nestable elements

390205f69528aadd1c42600382f9f7b5db1271e6 authored over 3 years ago by Thomas von Deyen <[email protected]>
Fix add nested element with multiple nestable elements

If an element allows multiple nestable elements the element select
dialog appears. That was miss...

80a225b17cece3e3c95126c4dba89cf39f5fde06 authored over 3 years ago by Thomas von Deyen <[email protected]>
Change the add nested element spec scenario

So that it actually tests what it does:
Immediately creating a nested element.

Also add a pendi...

4a1b2176e40628b814130dc92421e52fa365a836 authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2050 from tvdeyen/remove-public-version-on-unpublish

Destroy public version if public checkbox is unset

72b5134cb0d50cf58dde02f3b9c0e5e07ae226d6 authored over 3 years ago by Thomas von Deyen <[email protected]>
Update Page#public_on= specs to support MySQL

MySQL does not support milliseconds, so we need to adopt the tests

bb27d61bc1c3dad2323159189125fd252d4f7f12 authored over 3 years ago by Thomas von Deyen <[email protected]>
Destroy public version if public checkbox is unset

In order unpublish a page via the "Published" checkbox
in the page settings dialog we need to de...

4056832637490faddbecbc575e7b8b234b3539c7 authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2049 from tvdeyen/build-new-contents-automatically

Create new contents on demand

94190bbaef8d761767761f834ad4b1a4f27f889a authored over 3 years ago by Thomas von Deyen <[email protected]>
Create defined contents if they are missing

If new contents have been defined on the elements definition, but they are
not existing yet we c...

e7b8e148a028a33ec8fce0b66aad72eeadb0db58 authored over 3 years ago by Thomas von Deyen <[email protected]>
Decorate contents in element editor

Instead of in the view

9b816b29dc03396a6872ed9287e98ce56c5eb815 authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2046 from tvdeyen/fix-paste-element

Fixes paste element and create element with autogenerated nested elements

10b174796a20fe9526ce37dd43b7e5460d09db96 authored over 3 years ago by Thomas von Deyen <[email protected]>
Set parents page_version on generate nested elements

Autogenerated nested elements need to have the same page_version as the parent.

e415a218b8854333cfd98ef76560b4aca19e724f authored over 3 years ago by Thomas von Deyen <[email protected]>
Fix paste element from clipboard

We need the page_version_id not the page_id

1aee5b5d8d37a474350a8f65b1bbaeb41f96aa98 authored over 3 years ago by Thomas von Deyen <[email protected]>
Rename new_element_form into form

df012695395ab6477d38539089db58c8884678ef authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2038 from henvo/render-site-layout-with-block

Render site layout with block

44d97d2e40efa2a221d9f85d3e41678ce4f86c9c authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2039 from tvdeyen/element-repository

Adds a repository class that mimics the ActiveRecord interface of elements, but uses the eager l...

16e72789f600ab2ddf82c4c40874da76789e7d0c authored over 3 years ago by Thomas von Deyen <[email protected]>
Update Layout/MultilineOperationIndentation cop to default

Rufo uses the same default as Rubocop here.

By removing the override we use the dewfault of Rub...

9eb1a1d0b1e6f0df51ee6f2f297e5f6ac580da4f authored over 3 years ago by Thomas von Deyen <[email protected]>
Use element repository in elements finder

The elements repository uses array methods to filter, order and limit
elements on a eager loaded...

57f38e33f703ddbe75df3a1ff00ce08d3f1bcc9b authored over 3 years ago by Thomas von Deyen <[email protected]>
Use stubbed elements in element repository spec

This is way fast than using create and since we only use
array methods in the repository
class i...

7931bfb2db457e9a8e5e32a74e3e09a06efef99b authored over 3 years ago by Thomas von Deyen <[email protected]>
Implement more scopes on element repository

These scopes are used on the ElementsFinder and needs to
be supported.

1ae45d395ae40726c7d588f4fa95432a9c4cb63d authored over 3 years ago by Thomas von Deyen <[email protected]>
Add Alchemy::ElementsRepository

This mimics the ActiveRecord interface of elements, but
uses the eager loaded elements and POR m...

d832fde563e84d268ca74de9838cacd4ca0d93c5 authored over 3 years ago by Thomas von Deyen <[email protected]>
Make element repository chainable

It is very common to chain ActiveRecord scopes to filter elements.

This makes it possible with ...

5aa86cb3e20a87fb06a17764762eaed97ea5d8e0 authored over 3 years ago by Thomas von Deyen <[email protected]>
Fix page re-publishing for page with nested elements (#2043)

If a page has a published page version with nested elements
the nested elements got deleted bef...

8af309262c4b04771856bccbaf8b51b39dbd6a91 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add namespace for Tree related routes (#2037)

NodeTree is being used for rendering the Menu in tree
structure. This Tree could be made generi...

d05a7575b12c32ac23591075e4474e78b5fb82f3 authored over 3 years ago by dhiraj14 <[email protected]>
Merge pull request #2042 from tvdeyen/update-rubocop

Update rubocop config and stick version

9510def9be6eeb4fcbd4809542f77c4f23918da0 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add new cops but disable them

New cops have been introduced.

67bb7747dd20eded56ca964d64050b0ae27f7792 authored over 3 years ago by Thomas von Deyen <[email protected]>
Target Ruby 2.5 in rubocop

We only support Ruby 2.5 and above.

e5446e09894b3bc0f66e11a36d58af958fa9b5de authored over 3 years ago by Thomas von Deyen <[email protected]>
Use the same rubocop version as hound

We use hound ci to run linting. They only support some versions of rubocop.

Lets stick with the...

df1a50fe7bde65a3445a6f9dc9ef70a6e07c2a05 authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2041 from tvdeyen/fix-factory-loading

Fix factory loading

ecc90c8ffbcf4c7978181caef582c6f79bfc4c1e authored over 3 years ago by Thomas von Deyen <[email protected]>
Update rails helper after test support change

Our factories now get appended to the definition paths of factory bot.

Also FactoryBot.reload i...

b278b16aebadf51f5381ea89d081c9ee7bd19082 authored over 3 years ago by Thomas von Deyen <[email protected]>
Change TestSupport.factory_paths

Before the method returned a list of individual file paths.
FactoryBot is able to load files fro...

4cd1e650b85f0e5c0e33dce6f9744c5911689f0c authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2022 from tvdeyen/page-versions-2020

Add Page Versions

1cd1c6d363821c3bd925533b5d3a133a35ac6bb4 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add spec

299b995623eb9a24ce9a1e0f58d2f6bc1fa3c7d3 authored over 3 years ago by Henning Vogt <[email protected]>
Pass a block to PagesHelper#render_site_layout

With this change it is possible to define something like

<%= render_site_layout do %>
<%= ren...

d351391aa8217ff46f795ef35e37f77e74fc6bb2 authored over 3 years ago by Henning Vogt <[email protected]>
Update brakeman ignores

5d7ae6bba2d397506a6e25bb109656f3ae299794 authored over 3 years ago by Thomas von Deyen <[email protected]>
Revert "Fix page_version loading in render_elements"

This reverts commit 9bddcd2883aa328841318e8b0f89041e268fb1c4.

fdea8373f689bd0bb5d81b0176884b9c7138f830 authored over 3 years ago by Thomas von Deyen <[email protected]>
Adjust upgrader to page legacy timestamps

12247aac5a938e6bb2af52bdf0311201461dc4e6 authored over 3 years ago by Thomas von Deyen <[email protected]>
render_elements from draft version in preview mode

Always use the draft version of the page set or passed into
render_elements if we are in preview...

7e801d5028d32dff8c61107bf8a13f32500aa28a authored over 3 years ago by Thomas von Deyen <[email protected]>
Raise deprecated major version to 7.0

6ad487188e60483a18e4aec03ad7d9d469695e16 authored over 3 years ago by Thomas von Deyen <[email protected]>
Delegate public_on and public_until to page version

1b25c7be6af940de7710d730e578b7232b9f25cf authored over 3 years ago by Thomas von Deyen <[email protected]>
Use draft version in Page preview

Since we load the draft version elements in the elements window,
we need to load the pages draft...

40c0b57ae8f2b9834b67e8c21cb680c713294e0d authored over 3 years ago by Thomas von Deyen <[email protected]>
Render elements from public version or assigned page_version

In render_elements we use either a `@page_version` or the pages public
version to load elements ...

e0f4fe1d2b846b1b03f80a13e196a5735b68c8bf authored over 3 years ago by Thomas von Deyen <[email protected]>
Do not set published_at after update

ae8e5926b703882b93f94648c15d17685b334d51 authored over 3 years ago by Thomas von Deyen <[email protected]>
Fix page_version loading in render_elements

Only use the assigned page version if there is no page
given via the `:from_page` option, so tha...

91aa12a778e54e8f2f330aca3cdf34fc7d31f2aa authored over 3 years ago by Thomas von Deyen <[email protected]>
Delegate Page#public? to public version

A page is considered public? if a public version exists and this is published.

986fadbad29877fbeec01f2fbc9e405f7e34941b authored over 3 years ago by Thomas von Deyen <[email protected]>
Have only one public version

Instead of creating a new public version every time we publish a page,
we re-use the already pub...

a17b66b3e64a2056a4dbd556730d69bf5ac1b36e authored over 3 years ago by Thomas von Deyen <[email protected]>
Update Page.not_public scope to use versions

Any page that does not have any published version is considered not public

f89578d1acf829b9c99cdf588e463147a4529c35 authored over 3 years ago by Thomas von Deyen <[email protected]>
Remove Page#public_on and Page#public_until timestamps

These timestamps now live on the page version.

The values still exists on the table for histori...

43b7328950b79a0a2f51178b1419d09baa36b0b0 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add 6.0 upgrade task

b322faf8fff20341e6bb6fa953bc66262d520377 authored over 3 years ago by Thomas von Deyen <[email protected]>
Return elements from public versions in API

Only elements that have a public version should be returned
by the API.

f431c23e2543d937755ecac37e51284829f56e9a authored over 3 years ago by Thomas von Deyen <[email protected]>
Do not use find_each during copy element to public version

It turned out that using .find_each messed with the order of elements during copy.

3b4f24d83568492e459656eae3e4b8d84de093ca authored over 3 years ago by Thomas von Deyen <[email protected]>
Use page_version in ElementsFinder

Instead of the current page the ElementsFinder now uses
the given page version to load elements....

fbad9948586df436e9fca0db6d7db97ca60a45cc authored over 3 years ago by Thomas von Deyen <[email protected]>
Unpublish former published pages on Page#publish!

We want to make sure that we only have one published version
at a given time. Ideally we would a...

c0e9858227765ed98c8721d70ff7ae4fe0a4c85f authored over 3 years ago by Thomas von Deyen <[email protected]>
Allow to pass a time to PageVersion.published scope

51ba5e74dde91500b78929796fb87bd94639fe13 authored over 3 years ago by Thomas von Deyen <[email protected]>
Use page_version in admin elements controller

Instead of passing the page_id we use the page_version_id
to create, update and order elements i...

76380fd6e8b9c30fd1e33c5c6d5c1f989350aca3 authored over 3 years ago by Thomas von Deyen <[email protected]>
Remove the page relation from elements

and use the page version instead.

3a4acaa44a23a664a4cbe0dda3c2bdf7b479d25d authored over 3 years ago by Thomas von Deyen <[email protected]>
Create new elements on pages draft version

9c5807e36dd503d9d3c0ebaf31a03c03c0e650ce authored over 3 years ago by Thomas von Deyen <[email protected]>
Check element availability on pages draft version

b8f1b18c78d97d7f976f6ba223fcdeedc27ca425 authored over 3 years ago by Thomas von Deyen <[email protected]>
Copy page elements from draft version

0b0c1fecf216f36c45dad24200a5386e97db4cd8 authored over 3 years ago by Thomas von Deyen <[email protected]>
Remove trashed_elements association from Page elements

The element trash has been removed recently.

3b5212f9df4c6965a463dacf2280c4e3ad7c8330 authored over 3 years ago by Thomas von Deyen <[email protected]>
Load elements in edit mode from draft version

c3558f405830dc4d78fe211b9b5546d5eca62b24 authored over 3 years ago by Thomas von Deyen <[email protected]>
Return included elements from public page version

While loading a page tree from the API include elements
from public page version.

b79ac69f1f5963c3e8e448e7583d1a2a506d6812 authored over 3 years ago by Thomas von Deyen <[email protected]>
Copy page_version_id on Element.copy

74d771dd8f7fe414163a7cfe7c059247ae360080 authored over 3 years ago by Thomas von Deyen <[email protected]>
Update page version upgrader

Create a public version as well and copy the public elements over.

ade4223dd49dd66a0945c1fed6e42fed9916dae6 authored over 3 years ago by Thomas von Deyen <[email protected]>
Create public version on page.publish!

b7f497222c345910ec35f1d4d29d61b4561d7255 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add Gemfile to dummy app

Points to the gem and allows to run webpacker in the dummy app

3df9c8e6f886d999f1d26af0fe7240ccd5ee4055 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add draft_version association to Page

3b4c7b45ad07279b69fbf02d5c42d9ca4549b06b authored over 3 years ago by Thomas von Deyen <[email protected]>
Load associated page elements from public version

8446ac9da654d49ad3390529652100fc006f6ff6 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add upgrade task to create page versions

5ba0e70d5d622db3e7af690b3eedc889a9cb0db9 authored over 3 years ago by Thomas von Deyen <[email protected]>
Copy public elements on page.publish! to version

2fd525b5c9ea98f37b28dc475fb26d7789cd4323 authored over 3 years ago by Thomas von Deyen <[email protected]>
Autogenerate elements on the draft version

3ab84c052d3c96451c496b498c6ab6fcd444a020 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add public_version association to page

c081bae18bf10fe9980efbd496d6e1e8be2e6474 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add page version model

and associate with page

e370c9a79710ac4e9a4bd6887372bff5f96bb21f authored over 3 years ago by Thomas von Deyen <[email protected]>
Add page_version association to elements

33b948114d4243ba1afb32b9f10ef5b22f76a05b authored over 3 years ago by Thomas von Deyen <[email protected]>
Create a version for each new page

19289f9f64936b66acbbac2c1966ad5fbf18b5c9 authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2036 from CandleScience/tidy-dup-legacy-urls

Tidy Rake task to remove duplicate legacy URLs

5490ad8b68455b7c290326e2136e9b0ab19c17ef authored over 3 years ago by Thomas von Deyen <[email protected]>
Add tidy Rake task to remove dup legacy URLs

1471ee740e1110376277e7892a01c7537c692806 authored over 3 years ago by Matthew Bass <[email protected]>
Merge pull request #2029 from mamhoff/factorybot-fixes

Change Factory loading mechanism to FactoryBots supported mechanism

0a3d16d84b40356a1e067a6ccc1722de6475c75b authored over 3 years ago by Thomas von Deyen <[email protected]>
Merge pull request #2025 from tvdeyen/tidy-trshed-elements-task

Add rake task to remove trashed elements

7943253fd8ca822c5ac6f317eca5c529c2685f87 authored over 3 years ago by Thomas von Deyen <[email protected]>
Change Factory loading mechanism to FactoryBots supported mechanism

We build these factories such that they could be independently loaded.
However, FactoryBot is bu...

ea4c6d30859a0c6fa969a723816eabafc5c9e9d3 authored over 3 years ago by Martin Meyerhoff <[email protected]>
Merge pull request #2028 from tvdeyen/fix-element-reordering

Fix element re-ordering

fd44a1d341c660b911fb980e0b4922d02a9f36b9 authored over 3 years ago by Thomas von Deyen <[email protected]>
Do not change page_id on reorder elements

Reordering elements does not need to change the elements page id anymore
since we removed the tr...

45b667eee19f20a1720ca2f75db09a2e3429711e authored over 3 years ago by Thomas von Deyen <[email protected]>
Revert "Do not change page_id on reorder elements"

This reverts commit c9b1c6857ad08016d0115e817df8fa324ad1e140.

daa2a8d1b91a5e7115df82b6c90677a42feb5f77 authored over 3 years ago by Thomas von Deyen <[email protected]>
Add rake task to remove trashed elements

We removed the element trashed with Alchemy 6.0

This task helps to clean up the database with a...

e828c8857622e5fc420a7ffc0629bf74a2e7b5a5 authored over 3 years ago by Thomas von Deyen <[email protected]>