Giter VIP home page Giter VIP logo

opus's Introduction

Opensource knowledge base application for Teams.

Buy Me A Coffee

Introduction

Opus is a place for your team to document who you are, what you do and how you do it. It helps you create and maintain a knowledge base for your teams.

Opus

Motivation

As companies grow, it becomes difficult to manage and communicate the knowledge across different departments, Opus acts as a single source of truth; a go-to place for the employees to get knowledge. It gives enterprises the power to create anything and everything; from meeting notes, project plans, product requirements, technical documentations, orchestrate processes, work-flows and more.

There are spaces for every team, department or major project. Then employees can create, organize and share knowledge inside their relevant teams and keep work organized. There is a structured hierarchy and powerful search engine to find what you need quickly and easily. Apart from that, templates help creating documents without any hassle and there is PDF and Office Docs generation for the ease of sharing.

Features

  • Create manage Wikis (group of knowledge pages)
  • Create nested pages inside wikis
  • Manage wikis and pages by spaces and tags
  • Invite employees by email
  • Powerful ACL to assign different roles and permissions to employees.
  • Slack notifications for the wiki updates
  • Mark wikis and pages as favorite
  • Watch wiki/pages to get notified
  • In-app notifications
  • Discussions using comments
  • Create reusable page templates
  • Search across the knowledge base
  • ..and more

Screenshots

You can find some screenshots of the application in this following link.

Installation

You can use one of the following methods:

Docker

composer create-project ziishaned/opus
cd opus
cp .env.dist .env
docker-compose up
docker-compose exec app php artisan key:generate
docker-compose exec app php artisan migrate
docker run -v "$PWD":/var/www/ opus_app /usr/local/bin/composer install

Localhost

  • Run the below command in your terminal:
    composer create-project ziishaned/opus
  • Create .env using .env.dist and populate the relevant information
  • Install the dependencies
    composer install
  • Open the project directory and run the below
    php artisan migrate
  • Generate an application key
    php artisan key:generate
  • Run the database seeder
    php artisan db:seed

Contributions

License

The license holder is allowed to use the software for free, as long as they don't make money using it. Read more in License

opus's People

Contributors

braunson avatar facundofarias avatar jahvi avatar jakus1 avatar jpmurray avatar kamranahmedse avatar kwiky avatar misaelbg avatar monsieurmechant avatar simondotwhite avatar sorianotech avatar tobias-kuendig avatar twmbx avatar ziishaned avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opus's Issues

Broken CSRF Protection

OPUS has no CSRF protection since the mechanism used to generate and validate the CSRF token is broken.
the code:

var token = 
      $('<input>', {
        'type': 'hidden',
        'name': 'csrf_token',
          'value': '<?php echo csrf_token(); ?>' // hmmmm...
});

at the file opus/laravel-delete-req.js line 61, the author has tried using PHP inside a .js file, which caused the token value to be taken literally, leading to the CSRF token of users being literally <?php echo csrf_token(); ?> causing the application to be open for CSRF attacks by submitting a token with this value with any spoofed request.

no_csrf

Can't delete spaces

There doesn't seem to be a way to delete a Space and/or rename it. Or did I just miss it?

Correct deploying ordering in docker

I have a problem running Opus in Docker.

In the first up only the master image, with opus works fine, image for migrations and database seed doesn't works. I have to stop the containers and re up them for get a correct performance for the secon image, migrations, but i have the same problem still for database seed container. I have to stop all container and repeat again the same process, finally also database seed image is working fine.

You can see it here:

 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose -p opus up -d                           ✓  2663  05:11:23 
Creating opus.db ... 
Creating opus.redis ... 
Creating opus.master ... 
Creating opus.db
Creating opus.master
Creating opus.redis ... done
Creating opus.migration ... 
Creating opus.master ... done
Creating opus.php ... 
Creating opus.web ... 
Creating opus.php
Creating opus.php ... done
Creating opus.key ... 
Creating opus.key ... done
Creating opus.db-seed ... 
Creating opus.db-seed ... done
 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose logs -f | grep opus.migration           ✓  2664  05:11:55 

Attaching to opus.db-seed, opus.key, opus.web, opus.php, opus.migration, opus.redis, opus.master, opus.db
opus.migration | 
opus.migration |                                                                                
opus.migration |   [Illuminate\Database\QueryException]                                         
opus.migration |   SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_s  
opus.migration |   chema.tables where table_schema = opus and table_name = migrations)          
opus.migration |                                                                                
opus.migration | 
opus.migration |                                              
opus.migration |   [Doctrine\DBAL\Driver\PDOException]        
opus.migration |   SQLSTATE[HY000] [2002] Connection refused  
opus.migration |                                              
opus.migration | 
opus.migration |                                              
opus.migration |   [PDOException]                             
opus.migration |   SQLSTATE[HY000] [2002] Connection refused  
opus.migration |                                              
opus.migration | 
opus.migration exited with code 1
^CERROR: Aborting.

 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose -p opus stop                        130 ↵  2665  05:12:36 
Stopping opus.web ... done
Stopping opus.php ... done
Stopping opus.redis ... done
Stopping opus.db ... done
 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose -p opus up -d                           ✓  2666  05:12:49 
Starting opus.db ... 
Starting opus.redis ... 
Starting opus.db
Starting opus.redis
Starting opus.master ... 
Starting opus.db ... done
Starting opus.migration ... 
Starting opus.master ... done
Starting opus.web ... 
Starting opus.php ... 
Starting opus.web
Starting opus.migration ... done
Starting opus.key ... 
Starting opus.key ... done
Starting opus.db-seed ... 
Starting opus.db-seed ... done
 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose -p opus up -d                           ✓  2667  05:13:02 
opus.db is up-to-date
opus.redis is up-to-date
Starting opus.master ... 
Starting opus.master
opus.migration is up-to-date
Starting opus.key ... 
Starting opus.key
^CERROR: Aborting.
 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose logs -f | grep opus.migration         1 ↵  2667  05:13:10 

Attaching to opus.db-seed, opus.key, opus.web, opus.php, opus.migration, opus.redis, opus.master, opus.db
opus.migration | 
opus.migration |                                                                                
opus.migration |   [Illuminate\Database\QueryException]                                         
opus.migration |   SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_s  
opus.migration |   chema.tables where table_schema = opus and table_name = migrations)          
opus.migration |                                                                                
opus.migration | 
opus.migration |                                              
opus.migration |   [Doctrine\DBAL\Driver\PDOException]        
opus.migration |   SQLSTATE[HY000] [2002] Connection refused  
opus.migration |                                              
opus.migration | 
opus.migration |                                              
opus.migration |   [PDOException]                             
opus.migration |   SQLSTATE[HY000] [2002] Connection refused  
opus.migration |                                              
opus.migration | 
opus.migration | Migration table created successfully.
opus.migration | Migrating: 2014_02_10_145728_notification_categories
opus.migration | Migrated:  2014_02_10_145728_notification_categories
opus.migration | Migrating: 2014_08_01_210813_create_notification_groups_table
opus.migration | Migrated:  2014_08_01_210813_create_notification_groups_table
opus.migration | Migrating: 2014_08_01_211045_create_notification_category_notification_group_table
opus.migration | Migrated:  2014_08_01_211045_create_notification_category_notification_group_table
opus.migration | Migrating: 2015_05_05_212549_create_notifications_table
opus.migration | Migrated:  2015_05_05_212549_create_notifications_table
opus.migration | Migrating: 2015_06_06_211555_add_expire_time_column_to_notification_table
opus.migration | Migrated:  2015_06_06_211555_add_expire_time_column_to_notification_table
opus.migration | Migrating: 2015_06_06_211555_change_type_to_extra_in_notifications_table
opus.migration | Migrated:  2015_06_06_211555_change_type_to_extra_in_notifications_table
opus.migration | Migrating: 2015_06_07_211555_alter_category_name_to_unique
opus.migration | Migrated:  2015_06_07_211555_alter_category_name_to_unique
opus.migration | Migrating: 2016_04_19_200827_make_notification_url_nullable
opus.migration | Migrated:  2016_04_19_200827_make_notification_url_nullable
opus.migration | Migrating: 2016_05_19_144531_add_stack_id_to_notifications
opus.migration | Migrated:  2016_05_19_144531_add_stack_id_to_notifications
opus.migration | Migrating: 2016_07_01_153156_update_version4_notifications_table
opus.migration | Migrated:  2016_07_01_153156_update_version4_notifications_table
opus.migration | Migrating: 2016_10_01_105859_create_users_table
opus.migration | Migrated:  2016_10_01_105859_create_users_table
opus.migration | Migrating: 2016_10_01_110001_create_teams_table
opus.migration | Migrated:  2016_10_01_110001_create_teams_table
opus.migration | Migrating: 2016_10_01_110021_create_user_teams_table
opus.migration | Migrated:  2016_10_01_110021_create_user_teams_table
opus.migration | Migrating: 2016_10_01_110041_create_wiki_table
opus.migration | Migrated:  2016_10_01_110041_create_wiki_table
opus.migration | Migrating: 2016_10_01_110058_create_page_table
opus.migration | Migrated:  2016_10_01_110058_create_page_table
opus.migration | Migrating: 2016_11_02_193415_drop_version4_unused_tables
opus.migration | Migrated:  2016_11_02_193415_drop_version4_unused_tables
opus.migration | Migrating: 2017_01_01_074214_create_space_table
opus.migration | Migrated:  2017_01_01_074214_create_space_table
opus.migration | Migrating: 2017_02_01_160356_create_activities_table
opus.migration | Migrated:  2017_02_01_160356_create_activities_table
opus.migration | Migrating: 2017_02_23_123807_create_comments_table
opus.migration | Migrated:  2017_02_23_123807_create_comments_table
opus.migration | Migrating: 2017_02_23_135458_create_likes_table
opus.migration | Migrated:  2017_02_23_135458_create_likes_table
opus.migration | Migrating: 2017_03_04_050409_create_roles_table
opus.migration | Migrated:  2017_03_04_050409_create_roles_table
opus.migration | Migrating: 2017_03_04_050434_create_user_roles_table
opus.migration | Migrated:  2017_03_04_050434_create_user_roles_table
opus.migration | Migrating: 2017_03_05_105704_create_permissions_table
opus.migration | Migrated:  2017_03_05_105704_create_permissions_table
opus.migration | Migrating: 2017_03_05_105750_create_role_permissions_table
opus.migration | Migrated:  2017_03_05_105750_create_role_permissions_table
opus.migration | Migrating: 2017_03_09_080733_create_integration_table
opus.migration | Migrated:  2017_03_09_080733_create_integration_table
opus.migration | Migrating: 2017_03_09_080752_create_integration_actions_table
opus.migration | Migrated:  2017_03_09_080752_create_integration_actions_table
opus.migration | Migrating: 2017_03_09_080809_create_team_integration_actions_table
opus.migration | Migrated:  2017_03_09_080809_create_team_integration_actions_table
opus.migration | Migrating: 2017_03_15_073933_create_invites_table
opus.migration | Migrated:  2017_03_15_073933_create_invites_table
opus.migration | Migrating: 2017_03_19_040603_create_tags_table
opus.migration | Migrated:  2017_03_19_040603_create_tags_table
opus.migration | Migrating: 2017_03_19_040811_create_page_tags_table
opus.migration | Migrated:  2017_03_19_040811_create_page_tags_table
opus.migration | Migrating: 2017_03_23_140239_create_watch_wiki_table
opus.migration | Migrated:  2017_03_23_140239_create_watch_wiki_table
opus.migration | Migrating: 2017_03_24_142917_create_read_list_table
opus.migration | Migrated:  2017_03_24_142917_create_read_list_table
opus.migration | Migrating: 2017_04_11_022238_create_password_resets_table
opus.migration | Migrated:  2017_04_11_022238_create_password_resets_table
opus.migration exited with code 0
^CERROR: Aborting.

 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose logs -f | grep opus.db-seed         130 ↵  2668  05:13:23 

Attaching to opus.db-seed, opus.key, opus.web, opus.php, opus.migration, opus.redis, opus.master, opus.db
opus.db-seed | 
opus.db-seed |                                                                     
opus.db-seed |   [Illuminate\Database\QueryException]                              
opus.db-seed |   SQLSTATE[HY000] [2002] Connection refused (SQL: truncate `page`)  
opus.db-seed |                                                                     
opus.db-seed | 
opus.db-seed |                                              
opus.db-seed |   [Doctrine\DBAL\Driver\PDOException]        
opus.db-seed |   SQLSTATE[HY000] [2002] Connection refused  
opus.db-seed |                                              
opus.db-seed | 
opus.db-seed |                                              
opus.db-seed |   [PDOException]                             
opus.db-seed |   SQLSTATE[HY000] [2002] Connection refused  
opus.db-seed |                                              
opus.db-seed | 
opus.db-seed | 
opus.db-seed |                                                                                
opus.db-seed |   [Illuminate\Database\QueryException]                                         
opus.db-seed |   SQLSTATE[42S02]: Base table or view not found: 1146 Table 'opus.page' doesn  
opus.db-seed |   't exist (SQL: truncate `page`)                                              
opus.db-seed |                                                                                
opus.db-seed | 
opus.db-seed |                                                                                
opus.db-seed |   [Doctrine\DBAL\Driver\PDOException]                                          
opus.db-seed |   SQLSTATE[42S02]: Base table or view not found: 1146 Table 'opus.page' doesn  
opus.db-seed |   't exist                                                                     
opus.db-seed |                                                                                
opus.db-seed | 
opus.db-seed |                                                                                
opus.db-seed |   [PDOException]                                                               
opus.db-seed |   SQLSTATE[42S02]: Base table or view not found: 1146 Table 'opus.page' doesn  
opus.db-seed |   't exist                                                                     
opus.db-seed |                                                                                
opus.db-seed | 
opus.db-seed exited with code 1
^CERROR: Aborting.

 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose -p opus stop                        130 ↵  2669  05:13:33 
Stopping opus.web ... done
Stopping opus.php ... done
Stopping opus.redis ... done
Stopping opus.db ... done
 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose -p opus up -d                           ✓  2670  05:13:40 
Starting opus.db ... 
Starting opus.redis ... 
Starting opus.db
Starting opus.redis
Starting opus.master ... 
Starting opus.db ... done
Starting opus.migration ... 
Starting opus.master ... done
Starting opus.web ... 
Starting opus.php ... 
Starting opus.web
Starting opus.migration ... done
Starting opus.key ... 
Starting opus.key ... done
Starting opus.db-seed ... 
Starting opus.db-seed ... done
 salahaddin@TulipanROG  ~/Proyectos/UzmanTech/opus  nginx-server ✚ ●  docker-compose logs -f | grep opus.db-seed             ✓  2671  05:13:54 

Attaching to opus.db-seed, opus.key, opus.web, opus.php, opus.migration, opus.redis, opus.master, opus.db
opus.db-seed | 
opus.db-seed |                                                                     
opus.db-seed |   [Illuminate\Database\QueryException]                              
opus.db-seed |   SQLSTATE[HY000] [2002] Connection refused (SQL: truncate `page`)  
opus.db-seed |                                                                     
opus.db-seed | 
opus.db-seed |                                              
opus.db-seed |   [Doctrine\DBAL\Driver\PDOException]        
opus.db-seed |   SQLSTATE[HY000] [2002] Connection refused  
opus.db-seed |                                              
opus.db-seed | 
opus.db-seed |                                              
opus.db-seed |   [PDOException]                             
opus.db-seed |   SQLSTATE[HY000] [2002] Connection refused  
opus.db-seed |                                              
opus.db-seed | 
opus.db-seed | 
opus.db-seed |                                                                                
opus.db-seed |   [Illuminate\Database\QueryException]                                         
opus.db-seed |   SQLSTATE[42S02]: Base table or view not found: 1146 Table 'opus.page' doesn  
opus.db-seed |   't exist (SQL: truncate `page`)                                              
opus.db-seed |                                                                                
opus.db-seed | 
opus.db-seed |                                                                                
opus.db-seed |   [Doctrine\DBAL\Driver\PDOException]                                          
opus.db-seed |   SQLSTATE[42S02]: Base table or view not found: 1146 Table 'opus.page' doesn  
opus.db-seed |   't exist                                                                     
opus.db-seed |                                                                                
opus.db-seed | 
opus.db-seed |                                                                                
opus.db-seed |   [PDOException]                                                               
opus.db-seed |   SQLSTATE[42S02]: Base table or view not found: 1146 Table 'opus.page' doesn  
opus.db-seed |   't exist                                                                     
opus.db-seed |                                                                                
opus.db-seed | 
opus.db-seed | Seeding: Database\Seeds\Components\Role\RolesTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Page\PagesTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Team\TeamsTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\User\UsersTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Wiki\WikisTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Space\SpacesTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Team\InvitesTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\User\UsersTeamsTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\User\UsersRolesTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Permission\PermissionsTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Permission\RolePermissionsTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Integration\IntegrationActionsTableSeeder
opus.db-seed | Seeding: Database\Seeds\Components\Notification\NotificationCategoryTableSeeder
opus.db-seed exited with code 0

Can you explain to me why happen this?
Whis is the solution for get all container in correct way in the first running?

Thanks :D

New users unauthorised to create wikis

Similar to #8 I'm getting Unauthorized when trying to create wikis with newly invited users, it works fine for the account that originally created the team.

Steps to replicate

  1. Invite new user
  2. Accept invite link email and register
  3. Login and try to create a wiki

It looks like the main issue is that the following line in the hasPermissions() function returns empty:

$roles = $this->with('roles')->findOrFail(Auth::user()->id)->roles;

Maybe the roles are not getting assigned correctly on new users?

Images are missing

Hey,

Just downloaded this to have a look around and it seems there are number of missing images.

  • basic_eye.svg
  • basic_elaboration_todolist_check.svg
  • software_paragraph_space_after.svg
  • software_pencil.svg
  • basic_gear.svg
  • basic_message_multiple.svg
  • basic_elaboration_message_sad.svg
  • basic_book.svg

I'll update this if I find any more

laravel 5.5 support?

Tried to include into my current laravel project and it requires laravel 5.3 only

Paths to assets (JS, CSS, images etc.) are incorrect

.env:
APP_URL=http://localhost/downloads/opus

then browsing to http://localhost/downloads/opus/public:

		<link rel="stylesheet" href="/css/bootstrap.min.css">
		<link rel="stylesheet" href="/css/app.css">
		<link rel="stylesheet" href="/css/font-awesome.css">
		<link rel="stylesheet" href="/plugins/jcrop/Jcrop.min.css">
		<link rel="stylesheet" href="/css/toastr.min.css">
		<link href="/plugins/ckeditor/plugins/codesnippet/lib/highlight/styles/github.css" rel="stylesheet">
		<link href="/plugins/vakata-jstree/dist/themes/default/style.css" rel="stylesheet">
		<link href="/plugins/atjs/jquery.atwho.min.css" rel="stylesheet">
		<link href="/plugins/select2/select2.min.css" rel="stylesheet">
/css
/plugins

point to root instead of public folder.

Logo Enhancement

Hello Project Owner, the current logo is awesome. Can I make some a little bit of changes about the current logo ?

New users have no group and permissions attached

  • Create a new team/user
  • Login as newly created user
  • Click on «Create Wiki» -> Unauthorized
  • App\Models\User::first()->groups is empty, it looks like there are no groups attached by default.

Demo domain

Hi!
I've seen that you offer a demo, but it hasn't got any domain.
I would like to offer opus.miguelpiedrafita.com if you want

How do i start ?

I saw the Installation but how do I start ? using maven or some command ?
And btw the url in Installation should be https://github.com/zeeshanu/opus.git not https://github.com/zeeshanu/wiki.git right ?

How to serve?

I commented on the 'How do I start?' issue (#1 (comment)) but it's closed so I'm not sure anyone will see it!

Just curious, I've built the app as per instructions, but I'm not sure how to serve it? I tried php artisan serve --port=80, serving it behind nginx... To no avail. Can you let me know what I'm missing please?

Thanks!

Offer SSO options

Motivation

As companies grow, it becomes difficult to manage and communicate the knowledge across different departments [...]

That's very very true. But you know what's also true? They have a hard time managing people and their accounts. What that means is that you should definitely offer SSO options. Companies I have worked for are using Google to manage user accounts (check out their developer docs). But it can also be LinkedIn (check out their developer docs) or many other widely adopted platforms.

Wrong linking of CSS and JS in <head> causes resources 404

Resources do not get loaded as they are incorrectly pointing to 404 non-existing files.

in /resources/views/layouts/master.blade.php:
there are incorrect URLs used:

        <link rel="shortcut icon" type="image/png" href="/img/favicon.png">
		<link rel="stylesheet" href="/css/bootstrap.min.css">
		<link rel="stylesheet" href="/css/app.css">
		<link rel="stylesheet" href="/css/font-awesome.css">
		<link rel="stylesheet" href="/plugins/jcrop/Jcrop.min.css">
		<link rel="stylesheet" href="/css/toastr.min.css">
		<link href="/plugins/ckeditor/plugins/codesnippet/lib/highlight/styles/github.css" rel="stylesheet">
		<link href="/plugins/vakata-jstree/dist/themes/default/style.css" rel="stylesheet">
		<link href="/plugins/atjs/jquery.atwho.min.css" rel="stylesheet">
		<link href="/plugins/select2/select2.min.css" rel="stylesheet">

These should be relative to the public directory instead of being relative to the root directory.

Once the opening slash / is removed, everything loads fine.

This also applies for all other JS files linked in master.blade.php.

I18N Support

Okay, I really like the project, and we will be using it with my team.

The thing is, how should I handle the resources, if we decide to translate everything to Spanish? I mean, I have a clean installation, and I can modify my own views and their resources, but then I have to do it again, so it will be available in the main project? (I mean, this one).

Just a question, because we would like to contribute 😄

Seeders don't work

  • In UsersTableSeeder the column name gets set. This column does not exist. It has to be changed to populate first_name and last_name.
  • An Organization model is used in multiple locations but such a model does not exist

php artisan db:seed fails

Hi,

I'm having trouble executing "php artisan db:seed". I followed all the instruction and works well, however, when I executed db:seed, I got this error "Seeding: Database\Seeds\Components\Role\RolesTableSeeder

[ErrorException]
count(): Parameter must be an array or an object that implements Countable
"
You can refer also from attached image below.
I have PHP version 7.2.4 and Mysql version 5.1.73.

Thank you and I hope i can hear a response coming from you soon.
error

Postgres SQL support

I saw in the documentation that you put MySQL las requirement, but i can see in databases configuration that exist connection for PostgreSQL.

Can i use PostgreSQL as database engine?

Google Analytics hard coded in master.blade

Your GA code is hard coded in master.blade. Not only will this track users of your software without their permission, but this will also bring confusion to your Analytics data as one Property usually serves for one domain only.

Editor images

Hello,

How can i insert images in the editor?

Thanks

Roles not working properly

This might be the reason why #62 is not working but I opened a new issue just in case.

Roles don't seem to be working properly, if you try to add a new role you get the following exception:

Undefined variable: team (View: /var/www/opus/resources/views/team/partials/tab-menu.blade.php)

Also when trying to edit a role:

InvalidArgumentException in FileViewFinder.php line 137: View [role.edit] not found.

And it looks like only the last registered user is getting assigned to the default "admins" role:

Steps to reproduce

  1. Create a new team/user.
  2. Check roles, there should be 1 user assigned to the admins group.
  3. Invite new user, register and login.
  4. Check roles, only the newly register user shows up as part of the admins group.

Could it be related to Groups being changed to Roles after ae8e301 and maybe some changes need to be refactored?

php artisan migrate fails

Receiving the following error when running php artisan migrate:

`**************************************

  • Application In Production!     *
    

Do you really wish to run this command? (yes/no) [no]:

yes

[ErrorException]
Undefined index: driver

`

Searching on the internet yielded no helpful results, I'm sadly not a developer.

404 on JS and css urls

Getting 404 for every js and css
Url : http://localhost/css/bootstrap.min.css
Reason :
JS and CSS included with / in master.blade.php , that will download from base domain url.
<link rel="stylesheet" href="/css/bootstrap.min.css">
After all this stuff, still js and css not loading on login and all pages except landing page.

Url : http://localhost/opus/public/team/css/bootstrap.min.css
I didnt find any team folder inside public.

Configs:

.env : APP_URL=http://localhost/opus
app.php :  'url' => env('APP_URL', 'http://localhost/opus'),

Using xampp .
Not added any project specific htacccess enty.
i did setup laravel first time.

Am i missed anything or is this issue?

Access rights

Is it possible to restrict the access rights of a user on a per space basis?

php artisan migrate not working

PHP Parse error:  syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/vhosts/home.dev/lab.home.dev/artisan on line 31

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/vhosts/home.dev/lab.home.dev/artisan on line 31

Is this ready for cloud native?

Is this wiki ready for cloud native? Can I push it to cloud foundry?

I see the docker-compose file. Do you have one for kubernetes? I would like to run it on k8s / minikube.

Layout issue after installation?!

Hi guys,
I am trying to run opus locally on my machine (Windows OS) and I get the following screen. Tried it on a macOS environment, same result.

screen shot 2017-04-22 at 11 31 30 pm

I am using MAMP: PHP version 7.0.13, MySQL 5.6.34

Am I doing something wrong? Do you have a fix for this issue?

Thanks!

Search is not working as expected

As far as I can see, it wasn't implemented yet:

<form class="navbar-form navbar-left dropdown" role="search">
	<div class="form-group with-icon dropdown-toggle" data-toggle="dropdown" >
		<input type="text" class="form-control overall-search-input" placeholder="Search...">
		<i class="fa fa-search icon"></i>
	</div>
	<ul class="dropdown-menu dropdown-menu-right" id="overall-search-output" onClick="event.stopPropagation();" style="margin-top: 4px; margin-right: 15px; width: 250px; padding: 4px 5px; max-height: 250px; overflow: auto;">
   		<li style="font-style: italic; text-align: center; font-size: 13px;">Type something.</li>
    </ul>
</form>

The form in opus/resources/views/partials/menu.blade.php doesn't have an action.

Non-English characters support in Space/Wiki naming

It's a fancy application, but do not support non-English characters support yet.
We need to create Space and Wiki by Chinese characters, I think it will might be represent chinese naming to US-ASCII characters by string transliteration or add another field to fill in US-ASCII naming by user.

I have experience to develop Drupal website (based PHP), maybe you could provide some instructions that I could help this project to join non-English characters feature support.

Release seed path fix

7cd486b fixed the issue with database seed paths, but it hasn't been tagged to a release. I would suggest v1.0.1 be released ASAP, since the current version is unusable on *nix systems.

Refs #64, #69

Seeders Windows directory separators

Seeders wouldn't work on Unix based systems because of the directory separators.
private $rolesFilePath = 'database\seeds\Components\Role\roles.json';

Result:

[ErrorException]
file_get_contents(/home/opus/database\seeds\Components\Page\pages.json): failed to open stream: No such file or directory

There are 3 ways to solve this:

  1. Use DIRECTORY_SEPARATOR instead of \
  2. Use just / (because as far as I know Windows accept both of the slashes as directory separator and Unix based systems are not).
  3. Have a method which will replace your separators with system ones.

As for me - the best option is 2nd one.

Problem installing in docker container

I'm trying to make a Dockerfile for install it, i'm getting this error now:

Removing intermediate container 9981adb8e100
Step 12 : RUN composer install
 ---> Running in b878cfa19a0c
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for facebook/webdriver 1.4.0 -> satisfiable by facebook/webdriver[1.4.0].
    - facebook/webdriver 1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
  Problem 2
    - facebook/webdriver 1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - laravel/dusk v1.0.14 requires facebook/webdriver ~1.0 -> satisfiable by facebook/webdriver[1.4.0].
    - Installation request for laravel/dusk v1.0.14 -> satisfiable by laravel/dusk[v1.0.14].

  To enable extensions, verify that they are enabled in your .ini files:
    - 
    - /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
ERROR: Service 'master' failed to build: The command '/bin/sh -c composer install' returned a non-zero code: 2

This is my Dockerfile:

FROM php:7-fpm

RUN apt-get update > /dev/null \
    && apt-get install -yyq \
    git \
    curl \
    unzip \
    > /dev/null \
    && docker-php-ext-install \
    pdo_mysql \
    iconv \
    pdo \
    > /dev/null \
    && docker-php-ext-enable \
    pdo_mysql \
    iconv \
    pdo \
    > /dev/null \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"

RUN mv composer.phar /usr/local/bin/composer

WORKDIR ~
RUN git clone -q https://github.com/zeeshanu/opus.git opus
WORKDIR opus
ADD .env /opus/.env
# TODO: Make posible change branches before install
#active_version=$(git status | head -1)
#if [ "$active_version" != "HEAD detached at $version" ]; then
#    echo "Switching to version $version ..."
#    git fetch -q
#    git checkout -q $version
#fi

RUN composer install

Wrong url redirection in docker container

I'm testing in this moment Opus inside a docker container, serving it since laravel, and i get a wrong performance browsing in it:

First time that i click in link Opus send me back to the home page, and i don't know why:
seleccion_341

I have to try five or six time until send me to the correct section.

But the other problem i can't understand why happen.

I'm using this compose file for setup in docker:

version: '2'

services:
  web:
      image: nginx:stable
      ports:
        - "80:80"
  master:
    build: opus-master
    image: opus-master
    command: php artisan serve --host=0.0.0.0 --port=8000
    ports:
      - "8000:8000"
  redis:
      image: redis:latest
  db:
    image: mysql:latest
    environment:
      - MYSQL_ONETIME_PASSWORD=yes
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_DATABASE=opus
      - MYSQL_USER=uzmantech
      - MYSQL_PASSWORD=opus-wiki-on-docker
  migration:
    image: opus-master
    command: php artisan migrate
    depends_on:
      - db
  key:
    image: opus-master
    command: php artisan key:generate
    depends_on:
      - db
      - migration
  db-seed:
    image: opus-master
    command: php artisan db:seed
    depends_on:
      - db
      - migration
      - key

I'm passing the laravel server through default docker host and the 8000 port.

When i refresh the webpage directly send me to home page, when i make click in the team logo since this section: http://localhost:8000/teams/uzmantech/settings/integrations, this send me to the home page.

This performance is very strange:
seleccion_343
seleccion_344
I make click in all links to navigate within the site, in a first time all clicks send me to the home page; after a while i have a normal performance, thanks!, but again i make other click and send me again to the home page and henceforth again all links send me to the home page.

Can anyone explain to me why doesn't works correctly?

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.