I've begun the port of Alinks to Drupal 8. You can contribute to the project here, or on github by sending a Pull request: https://github.com/Greg-Boggs/alinks.

So far, I've migrated about half the module including the settings form and basic processing functions. Ideally, the configuration storage would be converted to a Drupal 8 config entity instead of a custom table and db queries. It would also be nice to migrate the functionality to an input filter plugin.

CommentFileSizeAuthor
#10 2736913_10.patch63.62 KBchr.fritsch
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Greg Boggs created an issue. See original summary.

cbeier’s picture

I would consider the individual links (alinks) as content and not as a configuration. The automatic links interact with content (nodes) and e.g. the editor would add some new "alinks" for its new article. But if this is a configuration entity and the drupal instance is controlled via version control, this generates some overhead.

So I think for the module settings (/admin/config/content/alinks) it makes sense that this is a config entity. But for the alinks itself, it should be better a content entity.

Greg Boggs’s picture

The reason I made them config entities is so, like the D7 module which uses global variables, the config will be exportable between different environments. I believe, the main consideration between config entities and content entities is that content entities will scale to 10's of millions of entries and config entities will not. But, I don't think sites are going to automatically replace millions of individual link patterns even for massive news websites.

cbeier’s picture

I'm just thinking if there are reasonable scenarios to move the patterns through various environments. In my use case would generate a better internal linking between article/sites. So I react on content and link to content.

The fundamental decision is to consider whether an entity rather is configuration or content. I would rather tend to the "it's content" direction, since the entities rather work with content / based on it. And yes, sometimes the decision is really hard, because some "entities" are more likely between.

--

Unfortunately, I don't have used your module in Drupal 7. Therefore, I do not know how it worked there. If you have good reasons to use config entities for that, then it is a understandable decision. I only wanted to contribute another consideration.

webflo’s picture

+1 on Content Entity, this provides the ability to store more metadata to a single link.

Greg Boggs’s picture

While I prefer to have my config exportable for my own use case, I do see the value in having a UI to add new metadata to the link. Feel free to send me a PR that switches it. No need to worry about getting it perfect, but if someone gets it started, I'm happy to switch approaches.

chr.fritsch’s picture

Here is an alinks solution built on content entities https://github.com/BurdaMagazinOrg/alinks

It's not ready and full featured but it works fine so far.

I want to add the ability to use taxonomy terms as keywords to.

Big thanks to @webflo for the initial work.

Greg Boggs’s picture

Awesome. Can you send me a PR to make it easier to merge to Drupal.org? https://github.com/Greg-Boggs/alinks. Since it's using content entities, do we need a migration with migrate to upgrade from D7?

~Greg

Anonymous’s picture

I opened an issue for the alinks module. After make some changes caused by a missing stemmer class I got it working. Hope to see as first "working" alink module soon.

chr.fritsch’s picture

FileSize
63.62 KB

Here is a patch on base of current 8.x-1.x-dev

chr.fritsch’s picture

Greg Boggs’s picture

I published the Drupal 8 port and gave you a shout out on the module description page. Thanks for all the work! Currently, we could use some improvement to our dependency management and some improvements to guiding people to the content link.

chr.fritsch’s picture

Status: Active » Fixed

Thanks Greg for bringing this to d.o.

Greg Boggs’s picture

Updates made. :)

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.