2017 © Pedro Peláez
 

yii2-extension yii2-articles

Yii2 Articles to create, manage, and delete articles in a Yii2 site.

image

computesta/yii2-articles

Yii2 Articles to create, manage, and delete articles in a Yii2 site.

  • Wednesday, December 13, 2017
  • by computesta
  • Repository
  • 0 Watchers
  • 0 Stars
  • 15 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 21 Forks
  • 0 Open issues
  • 10 Versions
  • 0 % Grown

The README.md

Yii2 Articles

Yii2 Articles to create, manage, and delete articles in a Yii2 site., (*1)

  • Create, edit and delete articles
  • Article with attachments, image, gallery, hits
  • Manage categories and subcategories
  • Advanced Access Permission
  • Approval
  • Multi-Language with I18N
  • Extra Field Management
  • SEO Optimization

Installation

The preferred way to install this extension is through composer., (*2)

Either run, (*3)

$ php composer.phar require computesta/yii2-articles "*"

or add, (*4)

"computesta/yii2-articles": "*"

Configuration

1. Images folder

Copy img folder to your webroot, (*5)

2. Update yii2 articles database schema

Make sure that you have properly configured db application component and run the following command:, (*6)

$ php yii migrate/up --migrationPath=@vendor/computesta/yii2-articles/migrations

3. Set configuration file

Set on your configuration file, in modules section, (*7)

'modules' => [ 

    // Module Articles
    'articles' => [
        'class' => 'computesta\articles\Articles',
        'userClass' => 'dektrium\user\models\User', //you can use other user identity class, not always Yii2-user

        // Select Languages allowed
        'languages' => [ 
            "en-GB" => "en-GB" 
        ],          

        // Select Date Format
        'dateFormat' => 'd F Y';
        // Select Editor: no-editor, ckeditor, imperavi, tinymce, markdown
        'editor' => 'ckeditor',

        // Select Path To Upload Category Image
        'categoryImagePath' => '@webroot/img/articles/categories/',
        // Select URL To Upload Category Image
        'categoryImageURL'  => '@web/img/articles/categories/',
        // Select Path To Upload Category Thumb
        'categoryThumbPath' => '@webroot/img/articles/categories/thumb/',
        // Select URL To Upload Category Image
        'categoryThumbURL'  => '@web/img/articles/categories/thumb/',

        // Select Path To Upload Item Image
        'itemImagePath' => '@webroot/img/articles/items/',
        // Select URL To Upload Item Image
        'itemImageURL'  => '@web/img/articles/items/',
        // Select Path To Upload Item Thumb
        'itemThumbPath' => '@webroot/img/articles/items/thumb/',
        // Select URL To Upload Item Thumb
        'itemThumbURL'  => '@web/img/articles/items/thumb/',

        // Select Path To Upload Attachments
        'attachPath' => '@webroot/attachments/',
        // Select URL To Upload Attachment
        'attachURL' => '@web/img/articles/items/',
        // Select Image Types allowed
        'attachType' => 'application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, .csv, .pdf, text/plain, .jpg, .jpeg, .gif, .png',

        // Select Image Name: categoryname, original, casual
        'imageNameType' => 'categoryname',
        // Select Image Types allowed
        'imageType'     => 'jpg,jpeg,gif,png',
        // Thumbnails Options
        'thumbOptions'  => [ 
            'small'  => ['quality' => 100, 'width' => 150, 'height' => 100],
            'medium' => ['quality' => 100, 'width' => 200, 'height' => 150],
            'large'  => ['quality' => 100, 'width' => 300, 'height' => 250],
            'extra'  => ['quality' => 100, 'width' => 400, 'height' => 350],
        ],

        // Show Titles in the views
        'showTitles' => true,
    ],  

    // Module Kartik-v Grid
    'gridview' =>  [
        'class' => '\kartik\grid\Module',
    ],

    // Module Kartik-v Markdown Editor
    'markdown' => [
        'class' => 'kartik\markdown\Module',
    ],

]

Advanced Template recommended configuration, (*8)

URL Rules

'components' => [

        // Url Manager
        'urlManager' => [
            // Disable index.php
            'showScriptName' => false,
            // Disable r= routes
            'enablePrettyUrl' => true,
            // Disable site/ from the URL
            'rules' => [
                '<id:\d+>/<alias:[A-Za-z0-9 -_.]+>' => 'articles/categories/view',
                '<cat>/<id:\d+>/<alias:[A-Za-z0-9 -_.]+>' => 'articles/items/view',
            ],
        ],
    ],

Users Auth

Articles Permissions

create publish update delete index view
admin yes all all all yes yes
editor yes all all his yes yes
publisher yes his his no his yes
author yes no his no his yes

Categories Permissions

create publish update delete index view
admin yes yes yes all yes yes
editor yes no yes no yes yes
publisher no no no no yes yes
author no no no no yes yes

Users Types

The migrations add to the database 4 types of users:, (*9)

  1. Admin:
    • Can Create Categories
    • Can Publish Categories
    • Can Delete Categories
    • Can Update Categories
    • Can Index Categories
    • Can Create Articles
    • Can Publish all Articles
    • Can Update all Articles
    • Can Delete all Articles
    • Can Index all Articles
    • Can View all Articles
  2. Editor:
    • Can Create Categories
    • Can't Publish Categories
    • Can't Delete Categories
    • Can Update Categories
    • Can Index Categories
    • Can Create Articles
    • Can Publish his Articles
    • Can Update all Articles
    • Can Delete his Articles
    • Can Index Articles
    • Can View all Articles
  3. Publisher:
    • Can't Create Categories
    • Can't Publish Categories
    • Can't Delete Categories
    • Can't Update Categories
    • Can Index Categories
    • Can Create Articles
    • Can Publish his Articles
    • Can Update his Articles
    • Can Delete his Articles
    • Can Index his Articles
    • Can View all Articles
  4. Author:
    • Can't Create Categories
    • Can't Publish Categories
    • Can't Delete Categories
    • Can't Update Categories
    • Can Index Categories
    • Can Create Articles
    • Can't Publish his Articles
    • Can Update his Articles
    • Can't Delete Articles
    • Can't Index Articles
    • Can View Articles
  • Admin Panel: PathToApp/index.php?r=articles
  • Admin Panel with Pretty Urls: PathToApp/articles
  • Categories: PathToApp/index.php?r=articles/categories
  • Categories with Pretty Urls: PathToApp/articles/categories
  • Items: PathToApp/index.php?r=articles/items
  • Items with Pretty Urls: PathToApp/articles/items
  • Attachments: PathToApp/index.php?r=articles/attachments
  • Attachments with Pretty Urls: PathToApp/articles/attachments

CHANGELOG

  • Version 0.6.2 - Implementing Pull Request #6
  • Version 0.6.1 - Fixed #4 #5 and adding active/deactive buttons
  • Version 0.6.0 - Adding Url Rules
  • Version 0.5.2 - Adding Attachments
  • Version 0.6.2 - Adding Access to Categories and Articles
  • Version 0.5.0 - Update Articles index, Categories index, Refactor RBAC functions
  • Version 0.4.1 - Update RBAC functions
  • Version 0.4.0 - Adding first RBAC functions
  • Version 0.3.1 - Adding image to categories view
  • Version 0.3.0 - Deny to not logged to index, create, update, delete; only view permitted
  • Version 0.2.7 - Update Articles Params
  • Version 0.2.6 - Update Migrations
  • Version 0.2.5 - Update Asset Depends
  • Version 0.2.4 - Update Italian Translations
  • Version 0.2.3 - Update Asset setting articles.css after bootstrap
  • Version 0.2.2 - Update Item View
  • Version 0.2.1 - Adding video_type field in Items and fixed modified
  • Version 0.2.0 - Adding Upload Image in Items
  • Version 0.1.14 - Cleaning Categories Code
  • Version 0.1.13 - Generalizing Upload File Field
  • Version 0.1.12 - Adding Migrations Example
  • Version 0.1.11 - Fixing Delete Image in Categories
  • Version 0.1.10 - Adding Admin Menù
  • Version 0.1.9 - Adding Attachment's Files
  • Version 0.1.8 - Refactoring Categories Upload Image
  • Version 0.1.7 - Fixing TinyMCE problems
  • Version 0.1.6 - Adding Imperavi Redactor as Editor in Categories and Items
  • Version 0.1.5 - Update Item Created and Modified
  • Version 0.1.4 - Adding Item Variables in Module
  • Version 0.1.3 - Refactoring Module Variables
  • Version 0.1.2 - Added Facebook and Twitter Item View
  • Version 0.1.1 - Added Attachment's Table in database
  • Version 0.1.0 - Refactoring Project
  • Version 0.0.7 - Added Image Upload for Categories
  • Version 0.0.6 - Added Composer
  • Version 0.0.5 - Fixed problem with Upload Image
  • Version 0.0.4 - Added editors ckeditor, tinymce, markdown from other Packages
  • Version 0.0.3 - Various Fix and Update for Categories Views
  • Version 0.0.2 - Added multi-language with I18N
  • Version 0.0.1 - Initial Releases

LIBRARIES NEEDED

  • Yii2 Grid: https://github.com/kartik-v/yii2-grid
  • Yii2 Widget: https://github.com/kartik-v/yii2-widgets
  • Yii2 mPDF: https://github.com/kartik-v/yii2-mpdf
  • Yii2 MarkDown: https://github.com/kartik-v/yii2-markdown
  • Yii2 CKEditor: https://github.com/2amigos/yii2-ckeditor-widget
  • Yii2 TinyMCE: https://github.com/2amigos/yii2-tinymce-widget
  • Yii2 Imperavi Redactor: https://github.com/asofter/yii2-imperavi-redactor

The Versions