{"id":28391394,"url":"https://github.com/wearebraid/laravel-piction","last_synced_at":"2025-07-17T17:35:31.376Z","repository":{"id":62547174,"uuid":"142215229","full_name":"wearebraid/laravel-piction","owner":"wearebraid","description":"Laravel Piction Package","archived":false,"fork":false,"pushed_at":"2018-11-12T21:15:40.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-25T21:38:57.897Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wearebraid.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-24T21:34:33.000Z","updated_at":"2018-11-12T21:15:42.000Z","dependencies_parsed_at":"2022-11-02T22:16:01.459Z","dependency_job_id":null,"html_url":"https://github.com/wearebraid/laravel-piction","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wearebraid/laravel-piction","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearebraid%2Flaravel-piction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearebraid%2Flaravel-piction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearebraid%2Flaravel-piction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearebraid%2Flaravel-piction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wearebraid","download_url":"https://codeload.github.com/wearebraid/laravel-piction/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearebraid%2Flaravel-piction/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265636857,"owners_count":23802575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-31T09:11:56.593Z","updated_at":"2025-07-17T17:35:31.335Z","avatar_url":"https://github.com/wearebraid.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Laravel / Piction\n\n### **NOTE: THIS IS IN BETA MODE, PLEASE DO NOT USE THIS IN A PRODUCTION SETTING**\n\nThis is a package for quick integration with Pictino for storing records in a more usable fashion.\n\n### Features\n\n### Installation\n1. Install composer package: `composer require wearebraid/piction`\n2. Install config file \n```\nphp artisan vendor:publish --provider=\"Wearebraid\\Piction\\PictionServiceProvider\"\n```\n3. Add the following items to your Laravel `.env` file:\n```\nPICTION_HOST=http://\u003cyour-host-here\u003e/piction/\nPICTION_USERNAME=username\nPICTION_PASSWORD=password\n```\n4. Add service provider and facade to your app's config: `config/app.php`\n```\n...\n'providers' =\u003e [\n\t...\n\tWearebraid\\Piction\\PictionServiceProvider::class,\n\t...\n],\n'aliases' =\u003e [\n\t...\n\t'Piction' =\u003e Wearebraid\\Piction\\Facades\\Piction::class,\n\t...\n],\n...\n```\n\n#### Basic Config Settings\n##### `config/piction.php`\n* `host`: This is set to pull from the `.env` file to set the host URL for your Piction install\n* `user`: This is set to pull from the `.env` file to set the desired user for retrieving data from Piction\n* `pass`: This is set to pull from the `.env` file to set the desired user's password for retrieving data from Piction\n* `endpoint`: Default is `!soap.jsonget`, you should not need to change this as most of the functionality is relying on JSON data returned from Piction.\n* `use_scout`: Default is `false` If you choose to use [Laravel's Scout](https://github.com/laravel/scout) set this to `true`. More details on using Scout and the Scout Record class below.\n* `timeout`: Default is `300`, this is the number of seconds a Piction call will take before Guzzle will timeout.\n\n---\n\n### Using Scout _(And you should)_\n\nWhy use [Scout](https://github.com/laravel/scout)? Because it is **AWESOME!** Follow the [Scout setup](https://laravel.com/docs/master/scout#installation). Once you have it configured, in `config/piction.php` set `'use_scout' =\u003e true`\n\nFrom then on, instead of using `Wearebraid\\Piction\\Models\\Record` as your main record model, switch to `Wearebraid\\Piction\\Models\\Scout\\Record`\n\nThis model extends the normal record model adding the `Searchable` functions for indexing the records for quick searches. Then from within a controller you can then use `Record::search('spiders')-\u003epaginate(20);`\n\n#### Command Line Scripts\n1. `php artisan piction:collections` **This is the main script you will run daily** Stores latest collection info to database and adds any new collections. These records will also keep track of the last updated time for the collection. Collections that have been removed from Piction will be deleted from the database as well as all records in that collection.  This script also:\n\t1. Goes through each collection and requests the latest records for each.\n\t2. Requests deleted UMO's and removes records that no longer exist on Piction.\n2. `php artisan piction:records collection_id` This command will connect to Piction and retrieve _ALL_ records since the last run for a spcific collection. A collection id is required to run this script.\n3. `php artisan piction:deleted` Since Piction doesn't support webhooks, we can get the latest data each day but we don't know what's been deleted. That's where this script comes in. It connects to Piction retrieving a list of all deleted UMO's and then deletes any of those found in the database.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearebraid%2Flaravel-piction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwearebraid%2Flaravel-piction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearebraid%2Flaravel-piction/lists"}