GithubHelp home page GithubHelp logo

cascadepublicmedia / loyalist Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 15 KB

Drupal 7 & 8 module for discovering site "loyalists".

Home Page: https://www.drupal.org/project/loyalist

JavaScript 36.90% PHP 63.10%
drupal drupal-module drupal-7 drupal-7-module drupal-8 drupal-8-module

loyalist's Introduction

Loyalist

CONTENTS OF THIS FILE

  • Introduction
  • Requirements
  • Recommended modules
  • Installation
  • Configuration
  • Functionality
  • Limitations
  • Maintainers
  • License

INTRODUCTION

Loyalist uses simple, non-invasive techniques to help site administrators identify site "loyalists". By default, a loyalist is defined as a user who visits the site three times or more in one week. The number of visits, duration, and "cooldown" time between visits can be modified via configuration.

  • For a full description of the module, visit the project page: Loyalist

  • To submit bug reports and feature suggestions, or to track changes: Loyalist issues

REQUIREMENTS

No special requirements.

RECOMMENDED MODULES

  • Rules:

    When enabled, the Loyalist module provides two new Rules events:

    • After a visitor is defined as a (new) loyalist.

      This event will be dispatched after (or soon after, see LIMITATIONS) a visitor is newly defined as a loyalist.

    • A loyalist visits the site.

      This event will be dispatched when a known loyalist visits the site again.

INSTALLATION

Install as you would normally install a contributed Drupal module. See Installing modules for further information.

CONFIGURATION

Configure user permissions in Administration » People » Permissions:

  • Administer Loyalist

    Users need this permission to access and configure the Loyalist module's settings.

The site's loyalist definition can be configured from Configuration » People » Loyalist.

  • Interval (default: one week)

    The amount of time to look at when evaluating the Number of visits from a potential loyalist.

  • Number of visits (default: 3)

    The number of visits by a single site visitor within the Interval to qualify the visitor as a loyalist.

  • Visit cooldown (default: 30 mins.)

    Amount of times between page loads before considering a page load to be a new visit.

FUNCTIONALITY

The Loyalist module sets two variables for visitors in a loyalist session array. This array is primarily intended for other module and theme developers to build from.

  • loyalist (integer)

    The loyalist session variable will be either 0 (not a known loyalist) or 1 (a known loyalist).

  • invoke (string)

    The name of a Rules event that should be invoked. See See RECOMMENDED MODULES for more information .See LIMITATIONS for some additional information about how these Rules events work.

LIMITATIONS

The Loyalist module uses the Javascript construct LocalStorage to record and process information about individual users. This module does not store any information on the server, personal or otherwise, about visitors. This is an intentional decision to avoid potential privacy invasive techniques like fingerprinting.

This approach has a couple of drawbacks that are import to understand:

  • Users can disable or limit access to LocalStorage (e.g. in a private browsing mode). This effectively prevents the Loyalist module from functioning.

  • Users can modify LocalStorage data. The functionality of the Loyalist module should never be used for things like access to sensitive information or site configuration.

  • Rules event invocations are delayed. Because loyalist status is determined client-side in Javascript, event invocations for the Rules module are delayed until that status can be communicated to PHP (server-side).

MAINTAINERS

Current maintainers:

This project is sponsored by:

LICENSE

All code in this repository is licensed GPLv2. A LICENSE file is not included in this repository per Drupal's module packaging specifications.

See Licensing on Drupal.org.

loyalist's People

Contributors

cdubz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.