Giter Site home page Giter Site logo

flyve-mdm / ios-inventory-agent Goto Github PK

View Code? Open in Web Editor NEW
28.0 10.0 17.0 39.43 MB

Flyve MDM Inventory Agent

Home Page: http://flyve.org/ios-inventory-agent/

License: Other

Swift 65.13% Ruby 8.62% Objective-C 0.90% Shell 21.65% HTML 3.69%
ios inventory flyve-mdm agent

ios-inventory-agent's People

Contributors

ajsb85 avatar gianfranco97 avatar greenkeeper[bot] avatar naylin15 avatar teclib-bot 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-inventory-agent's Issues

Standard scopes

A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g., feat(parser): adds ability to parse arrays.

Proposal

  • spec: agent to server message specification
  • TBF

Anonymous usage data

Hi, @hectorerb

I debugged today the webhook platform for @chollimabot

You are sending the content-type as application/x-www-form-urlencoded instead application/json

And the body payload is XML instead JSON

Rename app title

Inventory Agent is a short name under the conventional name or guidelines

Flyve MDM - Inventory Agent for iOS is the description

"Flyve MDM" is the registered brand ®️

You can't use Flyve or Flyve Inventory.

Incomplete BSSID

Testing version if the inventory agent at time of today

when viewing on screen (of the device) the inventory report I notice :

  • the BSSID of the wifi hostpot used by the device is missing the first digit. Instead of having 02:34:45:67:89:AB I read 2:34:45:67:89:AB

Relicensing the Inventory Agent

Hi, @hectorerb

Please change the license file and the headers to use the LGPL.

The LGPL and application stores have a few incompatibilities which means that you do not have the rights to distribute LGPL code on DRM-enabled AppStores or locked devices.

Responsive design

Hi, @ajsb85

I'm going to add the possibility that the code documentation page has a responsive design.

Translations for keys of the specs

Hi, @hectorerb

Create a new string in en_GB for Transifex with all the keys of the specs in a proper case (UPPERCASE and Title-case) to use it in the screen "Show my Inventory"

Thanks.

Write the documentation

Hi, @hectorerb

Could you fill the documentation about the Inventory Agent for the Wiki?
https://github.com/flyve-mdm/flyve-mdm-ios-inventory-agent/wiki

Create the wiki pages for these topics:

  • Home
  • How to install
  • How to use
  • How it works
  • How to build
  • Code documentation

Note: The code documentation can be generated in markdown from the comments of the code.
https://github.com/realm/jazzy

About GitHub Wikis
https://help.github.com/articles/about-github-wikis/

Excellent documentation helps others use and extend the project.

Thanks.

Quality control

  • Swift Style Guide
  • Check if the Podspec lints correctly.
    This can be done with two methods, pod lib lint and pod spec lint.
  • Unit Testing
  • Integrate Travis CI for these tests

Edit coverage

Hi, @hectorerb

It is necessary that all the .md files of the coverage have the following header:

---
layout: coverage
---

This is because the Jekyll pages used them to integrate the files into the template.

New strings for the UI

Hi, @hectorerb

Please update these new strings in the Application.
Check if CircleCI upload the new strings to Transifex.

Thanks.

Inventory Agent Settings

Inventory

Inventory

Disable/Enable inventory

Run inventory now

Send inventory report

Inventory parameters

Schedule the inventory task

Global

Global settings

Setup credentials, server...

About

License and build information

Help

Articles of the help center

Global settings

Global

Boot options

Startup from system boot

Notifications

Disable/Enable toast notifications

Server Settings

Server adress

Define server address

Tag

Custom asset tag

HTTTP Authentication Credentials

Login

Password

Privacy

Health Report

Send crash reports

Usage Data

Send anonymous usage data

Inventory parameters

Inventory

Automatic inventory

Disable/Enable automatic inventory

Frequency

Define frequency

Frequency

  • Day
  • Week
  • Month

Transifex issues

Hi, @hectorerb

In Transifex, these issues were opened with the following information:

File: Localizable.string

  1. The original string should be "Flyve MDM Inventory Agent has restarted" instead of "Flyve MDM Inventory Agent is restarted".
  2. The original string should be "FusionInventory Agent has restarted" instead of "FusionInventory Agent is restarted".
  3. The original string "End of inventory." shouldn't ends up with dot (.); it should be "End of inventory".

Transifex links:

Resource Localizable.string
Resource Localizable.string
Resource Agent
Resource Agent
Resource localizableplist-ios
Resource localizableplist-ios

POST XML to GLPI

GLPI API REST Endpoint

POST https://dev.flyve.org/glpi/plugins/fusioninventory/

Body payload: <XML content>

User-Agent: FusionInventory-Agent-iOS_v1.0
Content-Type: text/plain; charset=ISO-8859-1

Postman Test

var xmlTree = xml2Json(responseBody);
tests["Status code is 200"] = responseCode.code === 200;
tests["Status code name has string"] = responseCode.name.has("OK");
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
tests["Body contains REPLY"] = responseBody.has("REPLY");
tests["Valid REPLY"] = xmlTree.REPLY;

How-tos and development documentation

Hi, @Naylin15

Change the name "Wiki" to "How-tos" and add these articles; and add the sub menu items to the Development section. If these pages does not exist, please, create an issue and request it. 👍

How-tos

  • How to install
  • How to use
  • Use Cases
  • How it works
  • How to contribute
  • How to Translate

Development

  • Code documentation
  • Code coverage
  • Test report

Distributing the app

TestFlight Beta Testing with Travis CI

Create some release notes:

RELEASE_DATE=`date '+%Y-%m-%d %H:%M:%S'`
RELEASE_NOTES="Build: $TRAVIS_BUILD_NUMBER\nUploaded: $RELEASE_DATE"

Create a TestFlight account and set up your app. In order to use the TestFlight API, you need to get the api_token and team_token first. Again, we have to make sure to encrypt them. On the command line execute:

travis encrypt "TESTFLIGHT_API_TOKEN={api_token}" --add
travis encrypt "TESTFLIGHT_TEAM_TOKEN={team_token}" --add

Now we can call the API accordingly. Add this to the sign-and-build.sh:

curl http://testflightapp.com/api/builds.json \
  -F file="@$OUTPUTDIR/$APP_NAME.ipa" \
  -F dsym="@$OUTPUTDIR/$APP_NAME.app.dSYM.zip" \
  -F api_token="$TESTFLIGHT_API_TOKEN" \
  -F team_token="$TESTFLIGHT_TEAM_TOKEN" \
  -F distribution_lists='Internal' \
  -F notes="$RELEASE_NOTES"

Make sure NOT to use the verbose flag (-v), as this would expose your decrypted tokens!

Reference: https://www.objc.io/issues/6-build-tools/travis-ci/

Badge:
apple-store

Change coverage

Hi, @hectorerb

I think the most recommended way is to create a new generating files of the documentation for the coverage.

My recommendation is to use the option that gives you the library to generate a JSON, later parse it and create a file in HTML format or customized markdown to our needs.

I am currently researching the subject so I can help as much as possible.

So far this is what I found:

Volatile preferences

I'm submitting a...


[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request

Current behaviour

The state of the Inventory Agent is not persistent between application restarts. The Inventory Agent appears always started after application starts, even it was stopped before close the application previously.

Expected behaviour

The state of the Inventory Agent to be persistent between application restarts.

Minimal reproduction of the problem with instructions

Start Flyve Inventory Agent for iOS. The following screen appears v

flyveinventoryagent4ios-afteropen

Afterward, disable the Inventory Agent v

flyveinventoryagent4ios-beforeclose

and close the application. Whether you start the application again you can see the agent appears enabled (former picture).

What is the motivation / use case for changing the behaviour?

Really, must I answer this question? (It's a joke) :)

Environment


Inventory Agent Version: 0.2.0

But see issue #92.

App uses non exempt encryption

If the build is not using encryption, use the key string value in your Info.plist file so you don't have to provide export compliance information with your next build.

<key>ITSAppUsesNonExemptEncryption</key><false/>

Notification controls not synchronized

I'm submitting a...


[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request

Current behaviour

Flyve Inventory Agent Notifications (Flyve Inventory Agent > Global setting > Notifications) and iOS Notifications for Flyve Inventory Agent (Setting > Notifications > Inventory) are not synchronized. In other words, these pictures are possible at the same time. v

flyveinventoryagent4ios-notificationsstate

iosnotifications4flyveinventoryagent

Expected behaviour

That Flyve Inventory Agent > Global setting > Notifications and Setting > Notifications > Inventory be synchronized.

Minimal reproduction of the problem with instructions

Set Flyve Inventory Agent > Global setting > Notifications and check whether Setting > Notifications > Inventory follows the change.

What is the motivation / use case for changing the behaviour?

:)

Environment


Inventory Agent Version: 0.2.0

But see issue #92

Write a welcome article

Write a welcome article for the page, this first article should give a brief introduction to the product and serve as an entry point for for new users. The idea is to be able to use this for promotion.

Said article should be written in Markdown and be published in the branch of gh-pages within the folder "_post"

Steps to follow for publication:

  1. Enter http://prose.io/
  2. Select the Flyve MDM organization
  3. Enter in repository where you want to publish the article
  4. Change to the branch gh-pages
  5. Click on the "NEW FILE" button
  6. Write your article
  7. Save your work

Rename Bundle ID & SKU

Bundle ID

The bundle ID must match the one you used in Xcode. It can't be changed after you upload your first build.

Actual: org.flyve.inventory.agent.example
New: org.flyve.inventory.agent

SKU

A unique ID for your app that is not visible on the App Store.

Actual: FlyveMDMiOSInventoryAgentExample
New: FlyveMDMInventoryAgent

XML of example

Hi, @hectorerb

I need to upload an example XML for iPad and iPod touch.
These will be used in the next section of the documentation page:

  • iPhone
  • iPad
  • iPod Touch

captura de pantalla 2017-08-23 a la s 6 02 00 p m

Shows incorrect version information...

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request

Current behavior

Flyve Inventory Agent shows incorrect version information.

Expected behavior

Flyve Inventory Agent shows correct version information.

Minimal reproduction of the problem with instructions

In Flyve Inventory Agent > About the application shows v

Inventory, version 0.1.0, build 235

but TestFlight shows v

Version 0.2.0 (235)

What is the motivation / use case for changing the behavior?

I think it's clear.

Environment

I think the environment is this but...


Inventory Agent Version: 0.2.0

Privacy section

Hi, @hectorerb

The idea is create 2 new items with checkboxes in the Global Settings with the header: Privacy.

  • Health Report \ Send crash reports (Enable/ Disable bugsnag)
  • Usage Data \ Send anonymous usage data (Send copy of the inventory to inventory.flyve.org)

Thanks.

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.