snipe / snipe-it

A free open source IT asset/license management system
https://snipeitapp.com
GNU Affero General Public License v3.0
11.12k stars 3.19k forks source link

[Announcement] Upcoming changes for v3 #1800

Closed snipe closed 8 years ago

snipe commented 8 years ago

Hi all,

I wish there were a way to make an issue sticky in GH, but alas, there is not. V3 is coming (and soon), and I wanted to let you know what to expect, and open it up for questions before the release.

If you're wondering why you haven't seen many pushes to this repo lately, it's because we've been working on v3 in stealth mode. We're only handling hot fixes for 2.1.0 right now, and no new features will be added to that version. I also won't be accepting any pull requests to this repo until it's all moved.

New Look!

First of all, v3 features a brand new interface which is much more compact. Huge parts of Snipe-IT involve viewing very wide screens of data (asset listing, etc), so the we're hoping the compacted sidenav will help folks on smaller screens.

screen shot 2016-02-25 at 2 16 00 pm

The new look also comes with a snazzy color picker to let you customize your header color, and that color will also modify the color of your primary buttons and navigation "active" highlights.

screen shot 2016-02-25 at 5 23 41 pm

New Components Section

Now you can create components, like RAM, HDD, etc, and assign them to assets.

Minimum Quantity for Accessories, Consumables, and Components

If you choose to use the new minimum restriction, you'll see a notification when you login when your stock is getting low.

screen shot 2016-03-09 at 5 20 18 am

You'll also get an email alert when inventory drops below minimum thresholds, if you have alerts enabled.

Laravel 5.2

We're also upgrading to Laravel 5.2, which won't matter to those of you who aren't devs, but for those that are, you'll know that it opens a lot more doors for cleaner code and more straightforward things like authentication and authorization.

Bye-bye Sentry

We're moving away from Catalyst's Sentry package (partly because it's shit, and partly because it's deprecated), and switching to use Laravel 5's built-in goodies, now that they support the concept of authentication AND authorization. This is a massive rewrite, and I'll need all the help I can get from users who have a disposable test environment set up who can help me not only test installations, but upgrades.

Better In-Context Help

We're working on ways to provide additional information to new users without cluttering up the UI. For example, clicking on the orange question mark in Accessories:

screen shot 2016-02-25 at 5 11 46 pm

Would pop out contextual help:

screen shot 2016-02-25 at 5 11 55 pm

Language is now selectable in Settings, and on a User-level

You can now set a default language for the app, and users can override your selection with their own language selection.

screen shot 2016-03-10 at 2 28 02 pm

Preview of User Assets During Checkout

If a user you're trying to check an asset out to already has assets assigned, a new side-box will appear when you select their name from the dropdown list on checkout.

screen shot 2016-03-16 at 3 16 33 am

Better Migrations

I've gone back through and revamped some of the migrations and DB actions to hopefully allow Snipe-IT to once again run on PgSQL and other non-MySQL RDMS. That may not happen in v3, but we're working towards it for upcoming releases.

Requires PHP 5.5.9+

Laravel 5.2 requires PHP 5.5.9, so Snipe-IT v3 will also obviously require 5.5.9.

New .env Configuration

This will come as a relief to those of you who upgrade often. Laravel 5 introduces the Rails-esque .env file to handle all configuration variables. This takes your configuration values out of the php files, which should make upgrading (and using the docker solution) much easier. Your initial upgrade to 3.* will be a little more hassle than usual as you have to copy over your config variables from a few different files into the .env file, but every upgrade that comes after should be much simpler.

Setup Wizard (sort of)

You're still going to have to deal with composer, but I've added a pre-flight check and a web-based setup so that as long as composer is installed and you have valid database credentials (and a web server, of course), you should be able to fill in a few form details and get started. It's not flawless yet, and it's certainly not as easy to set up as, say, a wordpress site, but it's a start for more nooby folks that want to use Snipe-IT.

LDAP Improvements

LDAP import now updates existing users, versus the previous behavior of skipping existing users and only importing new users.

screen shot 2016-03-02 at 6 19 16 pm

Nicer Seeding

We've switched to using Model Factories for testing AND for seeding, so this should make seeding your database faster and more error-proof.

Command Line Add-User

We've had a few circumstances where a user has managed to lock themselves out of the admin with no way to get their password back (no working email, etc). We've introduced a new command line tool that will allow you to create a new user that way, to handle those circumstances.

Allow Multiple Email Addresses for Alerts

Previously, if you wanted your email alerts to go to more than one person, you'd need to set up a distribution list. In v3, you're able to enter multiple email addresses, separated by commas.

screen shot 2016-03-16 at 9 39 01 pm

Additional Validation Types in Custom Fields

We've given you a few more options to choose from for the type of validation you need to have done on your custom fields.

screen shot 2016-03-22 at 2 02 19 pm

BDD/Unit Tests

While I haven't finished ALL of the current tests, we're requiring new pull requests to include unit/BDD tests where applicable. I'll be expanding the contributor documentation to explain what testing framework we're using, and so on.

New Model Validation

We're using a new method to validate models which will hopefully prevent the pesky error that seems to always come back, where updating a thing throws an error that it already exists. We have model level validation done right this time, and are using Laravel 5's new FormRequest validation for form field validation.

Language is now selectable in Settings, and on a User-level

You can now set a default language for the app, and users can override your selection with their own language selection.

Searchable Code-Level Documentation

While we still have a ways to go, we're working on better documenting the code and have made the generated documentation available. We've got most of the controllers documented at this point, but are still working on the models, service providers, helpers and middleware.

screen shot 2016-04-07 at 1 55 27 pm

Demo

I have the repo completely separate right now, so that old issues don't get mixed in with the new code, but will hopefully be able to merge it into a new branch soon. I'm not taking feature requests on that repo yet, as I need to get the core functionality down.

The v3 branch has been added to this repo, and I encourage those if you who are more adventurous to pull it down and start playing with it.

Right now there is no concept of admin users or roles, as that bit is still in development. When you're logged in, you can do all the things.

You can view the demo at https://v3.snipeitapp.com.

Admin login is admin, password is password. User login is einstein, password is password.

Feedback Welcome

While we're still in pre-pre-pre-release, your feedback on the changes are very welcome. (I mean, they're always welcome, but they are definitely welcome now.) Please note that I want to get v3 tested and shipped in the next two to three weeks, so new features you suggest may not be possible. If it's a low-hanging fruit and I can squeeze it in, we'll try, but your patience is appreciated.

hansenc0705 commented 8 years ago

Oo nice. I'm always open to testing...

Just when I finally figure out how to do upgrades in my existing install things get all turned around. :)

snipe commented 8 years ago

@kobie-chasehansen heheh - well, the nice thing is that upgrades should be much easier now. Since the .env file holds all the configuration magic, you can basically just copy files over, run migrations and composer install, and you're set.

opsydev commented 8 years ago

Two questions:

  1. Is the data model changing as well? If not is it possible to run a v2 and a v3 install simultaneously from the same database
  2. Any plans for adding an API?
hobbit666 commented 8 years ago

Enabling Auto numbering brings up error when trying to add asset.

snipe commented 8 years ago

@twistedR there may be a few additional fields added to v3, but the overall structure won't change. API is planned, but won't make it into v3.

Canceltodebug commented 8 years ago

Looks great. Can't wait.

lehtmets4 commented 8 years ago

The list view is somehow much cleaner at the moment than in the v3, in my opinion. In v3 this extra box around the assets and leave Heading and "Create New" button out doesn't give anything for user. I would suggest that it stays the same as in v2, everything on the same layer, clean white background.

Otherwise the Dashboard looks nice. If you would add also editing custom fields button, would be great. And also authentication against LDAP.

ddreier commented 8 years ago

@lehtmets4 LDAP authentication has been available for many months (I can't remember which version introduced it).

snipe commented 8 years ago

@ddreier is correct. LDAP has been available since v2.0, Aug of last year.

brightonhouseholder commented 8 years ago

I dig all the changes. Nice work. http://i.imgur.com/lqKlotB.png?fb Curious, Is it possible to squeeze bulk checkin/checkout into the changes in v3? If not, is that in the upcoming roadmap?

brianjking commented 8 years ago

@snipe Wow, I just saw this issue. I can't wait to use this -- looking gorgeous! Thank you!

snipe commented 8 years ago

@brianjking glad to hear it :)

snipe commented 8 years ago

V3 will now also update LDAP users, not just skip them on import. I'll update the list above.

screen shot 2016-03-02 at 6 18 44 pm screen shot 2016-03-02 at 6 19 16 pm
veen1981 commented 8 years ago

This looks awesome! I would be more than happy to help with testing! :)

xxtheatrainxx commented 8 years ago

Hey Snipe,

Looking good! I was just browsing through your demo and noticed a few things that seem to (still) not be working completely as intended (maybe?):

Under All Assets, the status tab doesn't seem to sort alphabetically. Ever. New users created from the webUI MUST receive a password (even if they will never log in) Requestable items aren't actually requestable (this could be a local install issue?)

SylentBobNJ commented 8 years ago

Liking the changes so far! Thank you for the minimum quantity alerting, that will be very useful. Will this be able to send email alerts as well?

snipe commented 8 years ago

@SylentBobNJ yes, but possibly not for v3, maybe v3.1

snipe commented 8 years ago

All: Just added the ability to select language in the Admin Settings, and also on a user level (so if you service multiple countries, each user can see the site in their own language.

snipe commented 8 years ago

@xxtheatrainxx

Under All Assets, the status tab doesn't seem to sort alphabetically. Ever.

I'll look into it.

New users created from the webUI MUST receive a password (even if they will never log in)

That's not a bug, it's just how it works. You can just generate a password for them using the password generator.

Requestable items aren't actually requestable (this could be a local install issue?)

Not sure what you mean here? It's working fine for me. You'll need to describe the scenario more thoroughly, but not in this thread, please. This thread is not for v3 bug reports at this time.

0xSheepdog commented 8 years ago

I'll sacrifice my sanity for testing' sake.

xxtheatrainxx commented 8 years ago

@snipe

Thanks for looking into that. Users needing a password is fair, just didn't know if that was intended behavior.

I'll start a new issue for the requestable items after I do some more digging.

madd15 commented 8 years ago

Wow this look amazing @snipe. Seems i've missed quite a bit 😄

snipe commented 8 years ago

@madd15 hey, good to see you again!

snipe commented 8 years ago

Low inventory email alerts just added.

screen shot 2016-03-15 at 11 15 09 pm
snipe commented 8 years ago

Just added:

Preview of User Assets During Checkout

If a user you're trying to check an asset out to already has assets assigned, a new side-box will appear when you select their name from the dropdown list on checkout.

screen shot 2016-03-16 at 3 16 33 am
snipe commented 8 years ago

Added the ability to have multiple email addresses as the alerts email, including validation, fixing #1738.

screen shot 2016-03-16 at 9 39 01 pm

On validation failure:


screen shot 2016-03-16 at 9 39 27 pm
Jabiros commented 8 years ago

Snipe, can you tell us when this is going to be released? I also like to test. I set up a server for this, but it's not in use yet..

snipe commented 8 years ago

@Jabiros we'll hopefully have an RC available in the next week or two.

snipe commented 8 years ago

Added a few more validation types for custom fields. (MAC address is currently broken on the demo, but we're fixing that.)

screen shot 2016-03-22 at 2 02 19 pm
prietoguy commented 8 years ago

@snipe, fantastic work on this new version! Just a quick question: Will v3 have a REST API out of the box, or are you planning that for a later release?

Great job. This really looks awesome!

snipe commented 8 years ago

Hi @prietoguy - no REST API out of the box, but it is planned for upcoming releases.

mstinaff commented 8 years ago

Maybe I am missing it, but once a components have been defined and checked out to asset, how do you see what components are checked out to the asset from the asset view?

Put another way, how do I see the CPU RAM HDD from the Desktop asset?

Thanks!

IMGreenTea commented 8 years ago

Hello, So, i just checked out the demo and the bell at the top right, which I assume is for notifications about requests is not visible. Is this a feature that will be present in the new version? Also, the new components feature is great, but is there a way to track maintenance on each component? That is, each component that is part of a bulk, say, if I have 20 walkie talkies and would generally be checking them out to people as a bulk item but need to track maintenance on each walkie talkie. I am thinking of using the components feature for such items because the accessories would require that I check them out individually. For the user, Since I cannot check this right now, Is it possible that before we check out an item to the user, they agree to the EULA first? Thanks for the great software!

snipe commented 8 years ago

@IMGreenTea the bell was for placement only and will not be in the release. The flag in the header will show you notifications.

There is no way to track maintenance on components at this point, although it will likely be added.

Is it possible that before we check out an item to the user, they agree to the EULA first?

Do you mean components? EULAs are already available for assets. We're not planning on adding EULAs to components in the next few months, but it's something we might add down the line.

Profecy commented 8 years ago

Hi!

I would love to test v3 of Snipe-IT, but for the life of me I can not get it to install... I know this is a pre-release but the thing is I would like to evaluate it for use within the company when it is eventually released.

Any insight would be appreciated.

ddreier commented 8 years ago

@Profecy I'd recommend hopping on to the Gitter chat some time in the afternoon (US-Pacific time). It'd probably be easier for @snipe to walk you through any issues that way.

Profecy commented 8 years ago

Sweet lord it works :dancer:

After joining the Gitter chatroom, i found this link: https://snipe-it.readme.io/docs/upgrading

Helped tons. Works a treat now <3 @snipe You really created something awesome here. Thank you for your time and effort. Digging the new v3

snipe commented 8 years ago

@Profecy while I'm stoked to hear the upgrade works for you, you know that v3 isn't out yet, right? :P it's not quite done yet, so expected some bugs, things still waiting to be fixed, etc.

snipe commented 8 years ago

@Profecy Sorry, I just read the scroll up. I'm glad you know it's not a release candidate yet :D Those docs are ALSO not done yet, but it sounds like they're at least mostly on track. Definitely glad to hear they seemed to do the trick. You're the first person I know of who has used them, so that's a relief. :)

nervouspotato commented 8 years ago

Hello, So I tried to update my snipeit version to v3 but this happened. screen shot 2016-04-20 at 11 54 37 am screen shot 2016-04-20 at 11 55 24 am

Any suggestions? Thanks.

snipe commented 8 years ago

Looks like you might be missing a CSS file or something? Can you open a new ticket with additional details like browser console errors, etc

nervouspotato commented 8 years ago

Hi, screen shot 2016-04-20 at 1 58 14 pm screen shot 2016-04-20 at 1 57 25 pm screen shot 2016-04-20 at 1 56 43 pm

SynchronGmbH commented 8 years ago

What's the way to get the pre-release version? Whitch repo do I have to use?

snipe commented 8 years ago

Same repo, v3 branch.

SynchronGmbH commented 8 years ago

where can I find the v3 branch? I cloned the repo but can't find the branch...

SynchronGmbH commented 8 years ago

Ok I got it, but I am missing the .env.example file...

snipe commented 8 years ago

I'm sure it's in there, as it's part of the source: https://github.com/snipe/snipe-it/blob/v3/.env.example

Perhaps make sure your file browser allows viewing "hidden" files (files that start with a dot)

SynchronGmbH commented 8 years ago

Jeah, I can see the file in the browser, but after cloning the source with this command: "git clone -b v3 https://github.com/snipe/snipe-it /var/www/snipeit_v3" the file dosen't exist. Any idea?

martydelaney3 commented 8 years ago

Not sure if you still need testing but I have a disposable test environment that I can try and help out with.

zmorrow commented 8 years ago

Not trying to sound pushy, just curious as to when v3 will go live, really stoked for the release.