Skip to content

Commit

Permalink
initial copy - needs full review
Browse files Browse the repository at this point in the history
  • Loading branch information
dave-mills committed Nov 20, 2023
1 parent 9c98cf9 commit ae896c7
Show file tree
Hide file tree
Showing 111 changed files with 5,431 additions and 544 deletions.
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
github: :vendor_name
github: stats4sd
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/:vendor_name/:package_name/discussions/new?category=q-a
url: https://github.com/stats4sd/filament-odk-link/discussions/new?category=q-a
about: Ask the community for help
- name: Request a feature
url: https://github.com/:vendor_name/:package_name/discussions/new?category=ideas
url: https://github.com/stats4sd/filament-odk-link/discussions/new?category=ideas
about: Share ideas for new features
- name: Report a security issue
url: https://github.com/:vendor_name/:package_name/security/policy
url: https://github.com/stats4sd/filament-odk-link/security/policy
about: Learn how to notify us for sensitive bugs
2 changes: 1 addition & 1 deletion .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Security Policy

If you discover any security related issues, please email [email protected] instead of using the issue tracker.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

All notable changes to `:package_name` will be documented in this file.
All notable changes to `filament-odk-link` will be documented in this file.

## 1.0.0 - 202X-XX-XX

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) :vendor_name <[email protected]>
Copyright (c) stats4sd <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
34 changes: 13 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,39 @@
# :package_description
# Manage ODK forms in a harmonised way with Laravel Filament

[![Latest Version on Packagist](https://img.shields.io/packagist/v/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/stats4sd/filament-odk-link.svg?style=flat-square)](https://packagist.org/packages/stats4sd/filament-odk-link)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/stats4sd/filament-odk-link/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/stats4sd/filament-odk-link/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/stats4sd/filament-odk-link/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/stats4sd/filament-odk-link/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/stats4sd/filament-odk-link.svg?style=flat-square)](https://packagist.org/packages/stats4sd/filament-odk-link)

<!--delete-->
---
This repo can be used to scaffold a Filament plugin. Follow these steps to get started:

1. Press the "Use this template" button at the top of this repo to create a new repo with the contents of this skeleton.
2. Run "php ./configure.php" to run a script that will replace all placeholders throughout all the files.
3. Make something great!
---
<!--/delete-->

This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.

## Installation
## Installationp

You can install the package via composer:

```bash
composer require :vendor_slug/:package_slug
composer require stats4sd/filament-odk-link
```

You can publish and run the migrations with:

```bash
php artisan vendor:publish --tag=":package_slug-migrations"
php artisan vendor:publish --tag="filament-odk-link-migrations"
php artisan migrate
```

You can publish the config file with:

```bash
php artisan vendor:publish --tag=":package_slug-config"
php artisan vendor:publish --tag="filament-odk-link-config"
```

Optionally, you can publish the views using

```bash
php artisan vendor:publish --tag=":package_slug-views"
php artisan vendor:publish --tag="filament-odk-link-views"
```

This is the contents of the published config file:
Expand All @@ -54,8 +46,8 @@ return [
## Usage

```php
$variable = new VendorName\Skeleton();
echo $variable->echoPhrase('Hello, VendorName!');
$filamentOdkLink = new Stats4sd\FilamentOdkLink();
echo $filamentOdkLink->echoPhrase('Hello, Stats4sd!');
```

## Testing
Expand All @@ -78,7 +70,7 @@ Please review [our security policy](../../security/policy) on how to report secu

## Credits

- [:author_name](https://github.com/:author_username)
- [Stats4SD](https://github.com/stats4sd)
- [All Contributors](../../contributors)

## License
Expand Down
2 changes: 1 addition & 1 deletion bin/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ const defaultOptions = {
compile({
...defaultOptions,
entryPoints: ['./resources/js/index.js'],
outfile: './resources/dist/skeleton.js',
outfile: './resources/dist/filament-odk-link.js',
})
35 changes: 16 additions & 19 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
{
"name": ":vendor_slug/:package_slug",
"description": ":package_description",
"name": "stats4sd/filament-odk-link",
"description": "Manage ODK forms in a harmonised way with Laravel Filament ",
"keywords": [
":vendor_name",
"stats4sd",
"laravel",
":package_slug"
"filament-odk-link"
],
"homepage": "https://github.com/:vendor_slug/:package_slug",
"homepage": "https://github.com/stats4sd/filament-odk-link",
"support": {
"issues": "https://github.com/:vendor_slug/:package_slug/issues",
"source": "https://github.com/:vendor_slug/:package_slug"
"issues": "https://github.com/stats4sd/filament-odk-link/issues",
"source": "https://github.com/stats4sd/filament-odk-link"
},
"license": "MIT",
"authors": [
{
"name": ":author_name",
"email": "[email protected]",
"name": "Stats4SD",
"email": "[email protected]",
"role": "Developer"
}
],
"require": {
"php": "^8.1",
"filament/filament": "^3.0",
"filament/forms": "^3.0",
"filament/tables": "^3.0",
"spatie/laravel-package-tools": "^1.15.0",
"illuminate/contracts": "^10.0"
},
Expand All @@ -37,18 +35,17 @@
"pestphp/pest-plugin-laravel": "^2.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
"spatie/laravel-ray": "^1.26"
"phpstan/phpstan-phpunit": "^1.0"
},
"autoload": {
"psr-4": {
"VendorName\\Skeleton\\": "src/",
"VendorName\\Skeleton\\Database\\Factories\\": "database/factories/"
"Stats4sd\\FilamentOdkLink\\": "src/",
"Stats4sd\\FilamentOdkLink\\Database\\Factories\\": "database/factories/"
}
},
"autoload-dev": {
"psr-4": {
"VendorName\\Skeleton\\Tests\\": "tests/"
"Stats4sd\\FilamentOdkLink\\Tests\\": "tests/"
}
},
"scripts": {
Expand All @@ -68,13 +65,13 @@
"extra": {
"laravel": {
"providers": [
"VendorName\\Skeleton\\SkeletonServiceProvider"
"Stats4sd\\FilamentOdkLink\\FilamentOdkLinkServiceProvider"
],
"aliases": {
"Skeleton": "VendorName\\Skeleton\\Facades\\Skeleton"
"FilamentOdkLink": "Stats4sd\\FilamentOdkLink\\Facades\\FilamentOdkLink"
}
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
}
68 changes: 68 additions & 0 deletions config/odk-link.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?php

// config for Stats4sd/OdkLink
return [

'odk' => [

/**
* Tells the system which Aggregation system is in use. Possible values are:
* - odk-central
*/
'aggregator' => env('ODK_SERVICE', 'odk-central'),

/**
* The base url for the service (without the trailing '/').
* If you use the public Kobotoolbox, this will be
* - 'https://kf.kobotoolbox.org' or
* - 'https://kobo.humanitarianresponse.info'
*
* If you use a custom installation of ODK Central or Kobotoolbox, it will be the base url to your service.
*
*
*/
'url' => env('ODK_URL', ''),
'base_endpoint' => env('ODK_ENDPOINT', env('ODK_URL')."/v1"),

/**
* Username and password for the main platform account
* The platform requires a 'primary' user account on the ODK Central / KoboToolbox server to manage deployments of ODK forms.
* This account will *own* every form published by the platform.
*
* We recommend not using an account that individuals typically use or have access to, to avoid mismatch between forms deployed and forms in the Laravel database.
*/
'username' => env('ODK_USERNAME', ''),
'password' => env('ODK_PASSWORD', ''),

// the password to be used for individual project accounts
// TODO: consider options for allowing users to set their own passwords (which we cannot keep in plain text, so we must ask the user for it every time).
// TODO: consider how to hash this - maybe each project has a unique seed that combines with the main ODK_PASSWORD to generate this.
'project-password' => env('ODK_PROJECT_PASSWORD', env('ODK_PASSWORD')),
],

'storage' => [
'xlsforms' => config('filesystem.default', 'public'),
'media' => config('filesystem.default', 'public'),
],

'roles' => [
// the role that a user must have in order to see *all* forms, and not just the ones owned by an entity linked to the user.
'xlsform-admin' => env('XLSFORM_ADMIN_ROLE', 'admin'),
],

'owners' => [
'main_type' => env('MAIN_OWNER_TYPE', 'team'),
],

'submission' => [

// The class and method used to process the submissions.
// The method should be:
// - a public static function;
// - accept a OdkLink\Models\Submission object as the only required variable.;
'process_method' => [
'class' => env('SUBMISSION_PROCESS_CLASS', null),
'method' => env('SUBMISSION_PROCESS_METHOD', null),
],
],
];
6 changes: 0 additions & 6 deletions config/skeleton.php

This file was deleted.

Loading

0 comments on commit ae896c7

Please sign in to comment.