PHPackages                             salift/opensocial-drops-9 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. salift/opensocial-drops-9

ActiveProject[DevOps &amp; Deployment](/categories/devops)

salift/opensocial-drops-9
=========================

Install Open Social and Drupal 9 with Composer on Pantheon using CI.

04Shell

Since Oct 11Pushed 3y ago1 watchersCompare

[ Source](https://github.com/SalifT/opensocial-drops-9)[ Packagist](https://packagist.org/packages/salift/opensocial-drops-9)[ RSS](/packages/salift-opensocial-drops-9/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (2)Used By (0)

Open Social with Drupal 9 on Pantheon
=====================================

[](#open-social-with-drupal-9-on-pantheon)

Drupal 9 with Pantheon's Build Tools and CircleCI Orb
-----------------------------------------------------

[](#drupal-9-with-pantheons-build-tools-and-circleci-orb)

Read more about Drupal 9 with Pantheon's Build Tools and CircleCI Orb on  README.md

Open Social Project
-------------------

[](#open-social-project)

Read more about Open Social, the team and the process in Drupal.org featured case study and visit the dedicated project website on [www.GetOpenSocial.com](http://www.GetOpenSocial.com) or follow @OpenSocialHQ on Twitter.

Before You Begin
----------------

[](#before-you-begin)

Be sure that you:

- Are familiar with your operating system's command line.
- Are using a Unix-based system (Linux or Mac OS X). Windows commands may vary slightly.
- Have created a Pantheon account: . Pantheon accounts are always free for development.
- Have an SSH key generated: , added to your Pantheon dashboard, and loaded in to your local SSH agent.
- You have Install and configure Git and Composer on your local computer.
    - Composer: , the package manager for PHP, installed on your machine.
    - Mac users can use Homebrew:  to install both Git and Composer, along with their required dependencies:

        ```
        brew install git composer

        ```

Install Terminus
----------------

[](#install-terminus)

A command-line interface that allows you to control your Pantheon account and sites. Virtually anything you can do in your Pantheon Dashboard, you can script with Terminus. It can also make remote Drush calls on your environments without having Drush installed locally, eliminating incompatibility issues between locally and remotely installed versions of Drush. As you have a Composer-based site, Terminus will use the version of Drush it finds in vendor/bin/drush when running Drush commands on the platform.

- If you don't have it yet installed on your system, refer to this document  to install terminus.
- [Generate a Pantheon Machine Token](https://dashboard.pantheon.io/machine-token/create) in the Pantheon dashboard by clicking **User Dashboard &gt; Account &gt; Machine Tokens**. Use the Machine Token to authenticate Terminus:

    ```
    terminus auth:login --machine-token=‹machine-token›

    ```
- Verify your session after installation:

    ```
    terminus site:list

    ```

    If your Pantheon site is on the list, installation and authentication were successful!
- Install the [Terminus Build Tools](https://github.com/pantheon-systems/terminus-build-tools-plugin):

    ```
    terminus self:plugin:install terminus-build-tools-plugin

    ```

Access Tokens
-------------

[](#access-tokens)

The Build Tools plugin will prompt you to create access tokens for the services you use as an alternative to a password. Access tokens are stored as environment variables. Access token requirements vary by service. Read below for specific access token requirements.

- [GitHub](https://github.com/settings/tokens): The GitHub token checks for the following scopes:
    - repo (required)
    - delete-repo (optional)
    - workflow (required if using Github Actions instead of CircleCi)
- [CircleCI](https://circleci.com/account/api): No scopes are configurable for this token.

Install your Open Social site on Pantheon
-----------------------------------------

[](#install-your-open-social-site-on-pantheon)

To create a copy of this repository including a separate GitHub repo, a CircleCI configuration, and a Pantheon sandbox with OpenSocial, run this command. Be sure to replace `machine-name-for-new-site` with a machine name of your choice and `optional-pantheon-organization-name` with your Pantheon organization name. *Note that having a Pantheon organization is optinal and not required.*

```
terminus build:project:create "SalifT/opensocial-drops-9:dev-master" machine-name-for-new-site --stability=dev --team='optional-pantheon-organization-name'

```

After that command completes, verify that Open Social with Drupal 9 has been installed in the Pantheon Dev environment by visiting it in your browser. this command will get you a one-time log in link to the dev environment. Be sure to replace `machine-name-for-new-site` with the machine name you chose above.

```
terminus drush machine-name-for-new-site.dev -- user-login

```

Install optional modules
------------------------

[](#install-optional-modules)

If you were to install in a browser using the installer page at /core/install.php, during the walk-through, open social would suggest selecting optional modules to install. However, this is not the case in this scenario. Your site is already installed and only the recommended modules have been installed for now. And you can install the optional modules with terminus

### Install optional modules with terminus

[](#install-optional-modules-with-terminus)

Ensure that your site is in SFTP mode, and then run:

```
terminus drush machine-name-for-new-site.dev -- pm-enable module_machine_name -y

```

Replace `module_machine_name` with the machine name of the module you want to install. At the time of writing this, here is in the table below the list of the modules suggested by OpenSocial 11.2.2 during the installation in a browser at core/install.php

Module nameDescriptionmodule\_machine\_namedynamic page cache **(recommended)**Caches parts of the page dynamically for any user.dynamic\_page\_cacheInline Form Errors **(recommended)**Places error messages adjacent to form inputs, for improved usability and accessibility.inline\_form\_errorsAnonymous page cache **(recommended)**Cache page for anonymous users. Enable this if you do not have a web server to do this for you.page\_cacheprivate file system **(recommended)**Use the private file system for uploaded files. Enforces the use of Private Files for content, posts and file uploads (highly recommended!). More info: social\_file\_privatePolicies ManagementProvides site managers the ability to create policies (e.g. GPDR or Terms &amp; Agreements) that users may/should agree to during registration.social\_gdprGraphQL APIEnables the GraphQL API for Open Social. - *This is disabled for new platforms as it's experimental. When Open Social defaults to API-first and this module is no longer experimental this can be marked as a default optional (or even required) module.*social\_graphqlOpen Social help links **(recommended)**Adds Open Social Links to the main menu.social\_lets\_connect\_contactOpen Social usage data **(recommended)**Shares usage data to the Open Social team. This helps us prioritise issues and new features making Open Social better.social\_lets\_connect\_usageActivity filter tagAllows you to filter content by tag in a activity blocks.social\_activity\_filterAlbum content typeAllows you to organise media in an album like structure.social\_albumBook content typeAllows you to organise content in a book like structure.social\_bookComment AttachmentAllows users to attach files to comments they place.social\_comment\_uploadContent List BlocksAllows the creation of custom lists of content on dashboards and landing pages.social\_content\_blockContent Abuse ReportingGives users the option to report content to site managers that doesn't fit the community guidelines.social\_content\_reportEmbed Media in ContentWill automatically render previews of links to content on popular websites such as YouTube, Twitter, Vimeo, etc.social\_embedEvent Add To CalendarProvides the ability to add Open Social events to the third party calendarssocial\_event\_addtocalAnonymous Event EnrolmentsAllows users to enroll in events without creating an account in the community.social\_event\_an\_enrollEvent Enrolments ExportAllows users to export event enrollees for their events as comma separated value (csv) files.social\_event\_enrolments\_exportEvent OrganisersAllows users to add organisers to events besides the creator of the event itself.social\_event\_managersEvent Enroll LimitAllows event creators to set limits to the number of people that can enroll.social\_event\_max\_enrollEvent typesAllows events to be organised by event types.social\_event\_typeFollow UserProvides "Follow User" flag type and related functionality.social\_follow\_userFooterProvides block based on the "Powered by Drupal" block from Drupal core.social\_footerGroup Default RoutesAllows group managers to set the default pages on a group for member and non-members.social\_group\_default\_routeflexible groups **(recommended)**Adds the flexible group type which allows users to create groups and choose the method of joining a group and its content visibility.social\_group\_flexible\_groupSecret groupsAdds the secret group type which allows users to create groups that are not shown on the platform unless you're a member.social\_group\_secretLanding PagesProvides content managers the ability to create landing pages. Landing pages can be used for external users or as guides for authenticated users.social\_landing\_pagePrivate MessagesAllows users to send eachother private messages.social\_private\_messageProfile Fields SettingsAllows a Site Manager to control what fields are available on a profile.social\_profile\_fieldsProfile Organization TagAllows Site Managers to add a special tag to the user that will indicate that this is a trusted user to other users.social\_profile\_organization\_tagProfile PreviewerAllows you to see profile details in a modal window on the hover of the user picture or name.social\_profile\_previewProfile Privacy SettingsAllows a Site Manager to control the visibility of profile fields.social\_profile\_privacySocial sharingWill add share links for social media sites to public content.social\_sharingContent TaggingAllows adding tags to content. Tags can be used in search, content overviews and dashboards.social\_taggingUser ExportProvides the ability to export user data as comma separated values (CSV) files.social\_user\_exportData PolicyCreate data policies and track user agreements as well as informing users.data\_policyInstall multiple modules at once:

```
terminus drush machine-name-for-new-site.dev -- pm-enable module_machine_name_1 module_machine_name_2 module_machine_name_3 -y

```

Run this command to install all the optional modules: *Be sure to replace `machine-name-for-new-site` with the machine name of your site.**Feel free to remove from the command the `modle_machine_name` of the optional modules you don't want to install.*

```
terminus drush machine-name-for-new-site.dev -- pm-enable dynamic_page_cache inline_form_errors page_cache social_file_private social_gdpr social_graphql social_lets_connect_contact social_lets_connect_usage social_activity_filter social_album social_album social_book social_comment_upload social_content_block social_content_report social_embed social_event_addtocal social_event_an_enroll social_event_an_enroll social_event_enrolments_export social_event_managers social_event_max_enroll social_event_type social_follow_user social_footer social_group_default_route social_group_flexible_group social_group_secret social_landing_page social_private_message social_profile_fields social_profile_organization_tag social_profile_preview social_profile_privacy social_sharing social_tagging social_user_export data_policy -y

```

Adding demo content
-------------------

[](#adding-demo-content)

Install the social demo module.

Module nameDescriptionmodule\_machine\_nameSocial DemoGenerate demo content and userssocial\_demo```
terminus drush machine-name-for-new-site.dev -- pm-enable social_demo -y

```

After this you might want to clear the cache of your remote drush app on the dev environment.

```
terminus drush machine-name-for-new-site.dev -- cc drush

```

Run drush cache rebuild.

```
terminus drush machine-name-for-new-site.dev -- cr

```

Check to see if the social-demo commands are available to Drush by running the command below. *At the time of this writing, Open Social 11.2.2 supports Drush version 10 which is also supported by Pantheon. At the time you are reading, Drush version could be 11 or other.**Note that the commands' syntaxes can slightly differ depending on your drush version.*

```
terminus drush machine-name-for-new-site.dev

```

You should see under social-demo the following commands in the list of the drush^10 available commands:

CommandsDescriptionsocial-demo:add (sda)Create demo content.social-demo:generate (sdg)Generate demo content.social-demo:remove (sdr)Remove demo contentTo add content use the following terminus drush command:

```
terminus drush machine-name-for-new-site.dev demo-content:add file user group topic event event_enrollment comment post like

```

*The order (e.g. file -&gt; user -&gt; group) is important because the content is dependent on each other.*

To remove the content use the following command:

```
terminus drush machine-name-for-new-site.dev demo-content:remove file user group topic event event_enrollment comment post like

```

### More social-demo Commands' usage with terminus drush

[](#more-social-demo-commands-usage-with-terminus-drush)

Generates demo content for users and topics from the EEA profile:

```
terminus drush machine-name-for-new-site.dev social-demo:add user topic --profile=EEA

```

Removes demo content for users and topics from the EEA profile:

```
terminus drush machine-name-for-new-site.dev social-demo:remove user topic --profile=EEA

```

Generates 100 demo users and 2000 topics:

```
terminus drush machine-name-for-new-site.dev social-demo:generate user:100 topic:2000 event:500 group:100

```

Development workflow
--------------------

[](#development-workflow)

Use the [Pantheon Build Tools integration Guide](https://pantheon.io/docs/guides/build-tools) to develop your project using Github, CircleCI, and Multidev/Dev environments to have a really nice development workflow. Next, deploy to the Pantheon Test and Live environments. When pull requests are created on your GitHub repo they will generate Multidev environments on Pantheon that clone the database and files from the Live environment. Be sure to replace `machine-name-for-new-site` with the machine name you chose above.

```
terminus env:deploy machine-name-for-new-site.test
terminus env:deploy machine-name-for-new-site.live

```

The Power of Terminus and Drush
-------------------------------

[](#the-power-of-terminus-and-drush)

This guide has just scratched the surface of what can be done with Terminus and Drush. While Terminus provides the power to manage most its aspects, tools like Drush give you the power to manage the inner workings of your powered Open Social site on Pantheon. Now you're ready to take the sandbox site, you've setup and explore on your own to see what else is possible.

See Also
--------

[](#see-also)

 and more on

###  Health Score

16

—

LowBetter than 4% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

 Bus Factor1

Top contributor holds 70.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/261a0fbfdf8e3058c748f78dcff8e1619e9e7bdf7f348a9eecd514e77d4957f4?d=identicon)[SalifT](/maintainers/SalifT)

---

Top Contributors

[![SalifT](https://avatars.githubusercontent.com/u/11011335?v=4)](https://github.com/SalifT "SalifT (107 commits)")[![stevector](https://avatars.githubusercontent.com/u/211029?v=4)](https://github.com/stevector "stevector (40 commits)")[![g1a-pantheon](https://avatars.githubusercontent.com/u/290197609?v=4)](https://github.com/g1a-pantheon "g1a-pantheon (2 commits)")[![greg-1-anderson](https://avatars.githubusercontent.com/u/612191?v=4)](https://github.com/greg-1-anderson "greg-1-anderson (2 commits)")

### Embed Badge

![Health badge](/badges/salift-opensocial-drops-9/health.svg)

```
[![Health](https://phpackages.com/badges/salift-opensocial-drops-9/health.svg)](https://phpackages.com/packages/salift-opensocial-drops-9)
```

###  Alternatives

[sarfraznawaz2005/servermonitor

Laravel package to periodically monitor the health of your server and website.

19613.5k1](/packages/sarfraznawaz2005-servermonitor)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4676.9k](/packages/tiamo-phpas2)[wapmorgan/php-rpm-packager

RPM packager for PHP applications.

106.5k](/packages/wapmorgan-php-rpm-packager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
