Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About the future #1239

Open
Germwalker opened this issue Mar 14, 2022 · 78 comments
Open

About the future #1239

Germwalker opened this issue Mar 14, 2022 · 78 comments
Labels
meta for issues not related to the code itself but the repo, the wiki, the programming standards, etc.

Comments

@Germwalker
Copy link

Hello,

First I would like to thank Felicia.
She did a wonderful job for 10 years building this tool.

[Partkeepr as of 1.4.0]

As we can all see, this project is dead and stuck in Symphony 2.

The docker image is fully working but as some users pointed out, this leads to security issues and any feature request can be easily implemented. Octopart support is now also dead as Altium's API is very expensive.

Some users tried to move to Symphony 3 (which is outdated too) without any relevant success as a lot of things must be rewritten. This rewritten things would of course need to be rewritten again while updating to a newer version of Symphony.

I guess this project is stuck because of the legacy technology : as the 2 years not merged PR shows, writing old PHP / Symphony code is a rare and niche talent that few of us have.

[Why not re-writing ?]

Back in time when this project started, server side JavaScript didn't exist.
Now building a web based app with database management schema like Partkeepr is a lot easier with Node.js.

If some of you are interested (and have some knowledge in Javascript), maybe it's time to start a full rewriting with a newer, easier and maintained technology.

@mikewillems
Copy link

Echoing the thanks to Felicia!

Having built some homebrew solutions for this in the past, wanted to offer help in reimplementation efforts. Anyone else game for this?

@Germwalker
Copy link
Author

I've made some research and asked few friends (pro web dev) about the best technology for a reimplementation. As for me a solution based on nuxt.js / node.js / mysql could work : nuxt (vue.js metaframework) make things easy for the frontend (and there is a lot of documentation too) and node can make the link between the database and the frontend.

We would need to copy the database tree.

I'll try to make a quick graphic demonstrator if I have some band pass.

Any folk interested in a javascript reimplementation, manifest yourself here.

@Forceu
Copy link

Forceu commented Mar 21, 2022

I have quite a lot of experience with Go, which I believe would be an even better choice for the backend. The backend shouldn't take too much time, I guess the UI would take a lot of work to create if it is being rewritten.

@rwslippey
Copy link

I'm a relatively new programmer.... okay so I've really been on/off for like 10 years and never really progressed much but I'm starting to really gain interest in React, NoSQL, docker, and Python (including Flask... never did much with Django). I haven't dug into node much but I'm willing to learn and would be interested in helping get this project going again. I don't know how much help I might be, I may just get in the way, but if this gains any traction, please let me know. I'd love to help. And echoing above, I never had a need for PartKeepr but knew it existed and finally had a need and knew right where to go.... it's a well known project, great job to all the hard work the dev team put in here.

@christianlupus
Copy link
Collaborator

Hello to you all, guys. I just wanted to keep you posted on the most recent status and thoughts we were having.

First, it is nice to hear that there are at least some folks out there that are willing to help with the problem. From your posts, I see at least experience in NodeJS, Go, and Python. That is good! It is also good that there are still users interested in the project. That means it is not dead. Currently, the development has stalled.

There were a few internal discussions going on how to proceed. Let me give you an overview.

Update by external resources

We had the idea to use a crowdfunding project to collect some money and let a pro do the Symfon 2 -> Symfony 5 migration. We had contacted a pro developer and have already a first quote that might be manageable if a few dozen people participated. We are also trying to get a second offer at least for comparison.

Once we have them, we wanted to reach out to you as a community but also to other communities in the hacker scene hoping to raise the required funds. This would mean a bigger PR campaign that would be needed.

The problem here is that we do not have a clear communication strategy for the community in general: The IRC channel is mostly empty (only a few people are there hanging around). In the google list, there are around 150 members. I suspect there are many more users out there that might benefit from installing and be willing to help.

If you have any good ideas on how to mobilize as many users as possible, feel free to speak up.

Discussions about rewriting

We also thought about what could be done to

  1. bring the project into a running state again
  2. ensure future management is easy
  3. allow future enhancements and extensions
  4. while keeping the huge work made by Felicia as best as possible.

One thing to identify is that the frontend (what you see in the browser) and the backend (the connection between HTTP and the database) are in fact separate projects/issues.

Felicia has defined a common interface between those two that is working great at the moment. This does not mean we have to stick completely with it. Adoptions/corrections/additions might be needed once development progresses. But I'd rather avoid building a complete architecture from scratch. That means we should stick for now with the API designed by Felicita.

Frontend update

As mentioned earlier, one could think of updating the frontend with some other framework. The currently used Ext.js might or might not be "the best" solution. There are for sure alternatives like VueJS/Nuxt.JS that might be more modern. Also, one could think of updating the building environment to e.g. webpack (or vite in case of Vue).

When looking at the most pressing problems, the Frontend seems mostly unconcerned as far as I see it. As long as we keep it consistent with the defined API, any updates can be done and even a parallel (call it modern) frontend might be possible.

Backend update

Here comes the big issue at the moment. We all agree that the current Symfony 2 is too outdated to be maintained anymore. Nothing is going around that. We know it.

The update of three Symfony versions is hard for a newcomer. This is especially true, as some backward-incompatible changes were introduced and the old documentation is only partially available nowadays anymore. So, you need, simply speaking, an expert in the field that knows the bells and whistles that can be used there.

If the update was not possible (lacking manpower and no intention to use external resources, see above), we have to think of replacing the backend. I am not telling you to rewrite from scratch. I am telling that the shiny new backend would have two interfaces to comply with: The database (including its current structure) and the API towards the frontend. If we managed to get this running, we could drag&drop replace the current backend with something else. If we do that we can migrate easily and even do a parallel mode similar to the frontend.

This "something else" might be written in different languages: NodeJS, Go, Python, Java, Brainfuck, or even PHP with Symfony 5 😄. Which language to use is (at least partly) not a trivial decision. Some languages are better suited, some are worse. The most pressing thing here is: We want to avoid focusing on one person that might drop out for whatever reason and let the same effect happen again we are facing at the moment. For example, if we have only one Java developer, that would be a rather bad choice.

I had recently a video call from a company from Germany that was intending to hack a bit on the database of Partkeepr. They wanted to have some information and were not aware that it was possible to replace the backend as I just presented. As they have experience with Python Django, they are intending to build their own backend for their needs. If we could use a cooperation partner as a bigger player like a company (in contrast to free-time contributors), I think that would be beneficial as the timing requirements are completely different.

Before you get too excited that you might get your favorite language (which you invited during your studies of computer science or learned somewhere else): If we decide to change the language, a few considerations must be passed! Here is an incomplete list of what comes directly to my mind:

  • Changing language will cause lost knowledge by the old maintainers. For example, I am not experienced in NodeJS. So there need to be other people serving as quality gates for future PRs. So, you will have to commit in the long term.
  • Updating only part of the core of Partkeepr is no solution. We need the complete backend. So, you will have to build all parts of the current structure in the new language. This means including all features.
  • Such a big refactory might only be possible with automated tests (which we are lacking at the moment). This is one of the reasons, why the Symfony update is such a critical thing. No one wanted to take the risk of the update in the past (where it was just the current state of code). Now we have to fix that past error.
  • Maintainability by the users: Our current users are mostly hobby users and a few institutions as far as I know. Some are running Partkeepr off their Raspberry Pis. We have to be careful not to require too much technical knowledge for the installation process and keep the runtime requirements at bay. (Does docker run on a pi? How complicated is it to compile Go on different platforms? What requirements are posed by NodeJS on Windows?) We do not want to lose many users in the process, so we have to keep things "simple".

You see, this is only possible with probably a group of developers that are committing themselves to the project in the long term. There needs enough experience to overcome some shortages. At the beginning of the rewrite huge amount of code need to be written and tested.
So, to those of you, who are crying out for a complete rewrite: Are you willing to take this responsibility? Are you committing personally your time to the project? Are you willing to offer your free time for the next months or even years to the project? Can you promise there are no upcoming changes in your life?
If you say full-hearted "yes" to all these questions, you are probably ready to take the responsibility of a public open-source project, possibly the rewrite of PartKeepr. If you are not sure, you might be better off in a community that is working together and cooperating towards a common goal. You are very welcome with suggestions, PRs, comments, testing, and anything else you can help with.
I do not want to demoralize you all. I just want to tell you what it takes to make such a project. Felicita will be able to tell you a story about it. Even though she is strong, in the end, she was no longer able to support the project for different reasons. I just want to advise you in good faith and without offense to not waste your time when you are not sure you can make it.

How do we go on from here?

I highly recommend that we do not start to split up our community even further and have different versions of the backend running with different frameworks/languages/... This will not help the project at all. We are all looking for a solution fitting best to ourselves, but I think it absolutely essential that we try to work towards a common solution.

On the way there we need some objective way to decide what is good or not. Statements like "xxx is best" or "xxx is best because everyone uses it" do us no good in this discussion. We need hard facts. I have my personal preferences as well but for the sake of the project I am willing to participate in an open discussion about what options do we have.

Also if such a discussion starts, I would like to take the complete community into account. Maybe there are some hidden talents that could be used?

Call for action

  1. Do you know of any non-official channels to reach as many users of Partkeepr as possible? Please send your ideas.
  2. Do you know of any developers willing to help on the project? Send them here!
  3. Fill in this form if you are willing to help. It is a survey regarding possible experiences.

@Forceu
Copy link

Forceu commented Apr 14, 2022

Thanks a lot for the response! As said above, I think for the backend Go would be the best choice:

  • Can be cross-compiled for almost any platform*
  • Does not need any dependencies*, results in a single binary
  • Is faster than PHP, JS, Java or Python
  • Is very fast to write and robust due to strong typing
  • Has a lot of required components like http server, html templating and testing built-in
  • Very fast compilation
  • Easy to learn

The biggest disadvantage is however that there are probably a lot less people to program in Go - as you said you need to reach more than a couple of people in order to rewrite and maintain the project. Also Go binaries tend to be a little bit larger, I assume for this project they would be around 30-50MB uncompressed, which is the drawback of not requiring any dependencies.
Also it would not possible to host Partkeepr on hosts anymore that only support PHP/mysql and are normally a little bit cheaper/userfriendly than a VPS instance.

*if no C code is included, which might be required to support sqlite3

@dromer dromer pinned this issue Apr 14, 2022
@dromer
Copy link
Contributor

dromer commented Apr 14, 2022

Hey All!

Endless apologies for the lack of organization and communication the past 2 years.

I had sort of "inherited" the project with admin access to this repository from @Drachenkaetzchen
Even though I've always, at this point almost a decade - sjeesh - been just a "power user" running several "custom" setups. I've never been at all a developer of the project and code-base.

Together with @christianlupus (thnx for the long post Chris! I fully agree to all points you made) and some other community "power user" members we initially got some work done to organize the project with some minimal improvements, mostly on the Issue tracking and CI side of things. Getting some bugfixes merged, etc.

Of course then the pandemic hit and everybody their lives where turned upside down.
(I personally got pulled into a completely different project doing python/puredata/c/c++)
However none of us are devs of the project and thus progress on pretty much all the things related to Partkeepr got stalled.

So here we are.

What can we do to keep this project alive?

Do we keep brute-forcing dependency upgrades as in https://github.com/partkeepr/PartKeepr/projects/3 and #1214 ?
Or first try to merge as much of https://github.com/partkeepr/PartKeepr/pulls as we can?

We can also try to find a way to replace the backend of the project on top of the current DB schema, but then the question is also if we should focus on "emulating" the current API?

If we're going to replace the stack, then I would actually prefer to move towards an OpenAPI Spec so that we can at least build in interoperability from the start. And alternate frontends could be created then too. However the current UI and API is so feature-complete. I don't know how easily we could instead have the current FE/ext.js converted to another API interface. Some better, interoperable, separation between the two would certainly be a win I think.

Personally I'm coming from mostly a Python (and Lua/OpenResty/Nginx) background and can't help support any PHP, Node or Go development. However I can of course help with testing, time permitting. For me I would then lean towards a framework like FastAPI. It implements the OpenAPI stack, simple, fast, with extensive typing and self-documenting. Anyone that wants to help with that hit me up.

Any suggestions on how to organize this are welcome. I'm certainly willing to add some more people access to the repository, to organize issues, and we can add some more projects to track things: https://github.com/partkeepr/PartKeepr/projects

Also come on IRC just to chat with other users if you want. Should be possible to add a matrix bridge as well.
We're with a ton of users and there is nothing out there like PK so I really hope we can keep the project alive.

[Edit: I've pinned the topic. Maybe we should move this towards a "discussion" format. What do you think?]

@dromer dromer added the meta for issues not related to the code itself but the repo, the wiki, the programming standards, etc. label Apr 14, 2022
@dromer
Copy link
Contributor

dromer commented Apr 14, 2022

@Forceu I really appreciate Go projects like Gitea btw! Single distributable binary that just contains pretty much everything you need.

@dromer
Copy link
Contributor

dromer commented Apr 15, 2022

Hmm, since the spec is based on Hydra, maybe converting the API to https://github.com/HTTP-APIs/hydrus (Python3/Flask/Sqlalchemy based) might be the easiest, for the Python heads?

The idea of having PartKeepr with semantic web capabilities is interesting. Imagine being able to link different "departments" or "communities" with access to certain parts of the api. RDF based specs are sometimes a bit hard to read, but it can be damn useful in distributed resources on the internet.

@Drachenkaetzchen
Copy link
Member

Please note that the frontend relies on entity information generated by the backend. The API and DB Schema are also generated by the entity information. The idea was to have one specific place where to define how an object looks like and how it's relations are - which are the entities. Everything else is derived from that.

I strongly advice against replacing the backend. If you want to do that, you basically need to re-write everything. PartKeepr was designed to allow filtering and sorting for every field and every relation, and there are no comparable projects that I know of.

I also disagree that PartKeepr should be re-written in a "faster" language. The demo system on https://demo.partkeepr.org runs on a low-end VM with little memory, and it's still fast despite the amount of data. If you need something faster it'll come at the cost of dropping the generic query system which can filter and sort everything, and you need to start to use indexes. A "faster" programming language won't help. A PartKeepr installation isn't used by thousands of users simultaneously.

The project took me 6 years to get it to the state where I considered it somewhat feature-complete for my requirements, and I did it with a clear vision what it should do and how it should do it. Replacing the backend or the frontend will easily get you over these 6 years I spent on that.

What this project needs is people willing to dig into the existing code, understand what it does, and go on from there.

@Forceu
Copy link

Forceu commented Apr 15, 2022

@Drachenkaetzchen Thanks a lot for your insight and of course a big thanks for this great project! It has helped me a lot to organise all my electronics. You are right, the language does not have to be fast, and the search is indeed very convenient and quick. In the end I think you are right that a rewrite will take a lot of effort and it would be more efficient to update deprecated parts of the code.

Out of interest, why not use indexes?

@Drachenkaetzchen
Copy link
Member

Out of interest, why not use indexes?

You can't have an index for every field combination a user potentially wants to search.

@Forceu
Copy link

Forceu commented Apr 15, 2022

This might be becoming off-topic now, but couldn't you use a word-list? Basically for every unique word in any category there is an entry that links to the item IDs - that way you would have a very fast search and can have custom categories as well.

@Drachenkaetzchen
Copy link
Member

This might be becoming off-topic now, but couldn't you use a word-list? Basically for every unique word in any category there is an entry that links to the item IDs - that way you would have a very fast search and can have a custom categories as well.

I never had the need for that. PartKeepr's search speed was always fast enough. Let me quote myself:

If you need something faster it'll come at the cost of dropping the generic query system which can filter and sort everything, and you need to start to use indexes.

How you would do it in this hypothetical scenario is then up to you.

@mikewillems
Copy link

mikewillems commented Apr 15, 2022 via email

@Drachenkaetzchen
Copy link
Member

This might be becoming off-topic now, but couldn't you use a word-list? Basically for every unique word in any category there is an entry that links to the item IDs - that way you would have a very fast search and can have custom categories as well.

And in the case of "give me all resistors with a resistance > 400 and resistance < 500 in the package 0603" a word list won't do.

image

@Forceu
Copy link

Forceu commented Apr 15, 2022

Yes, that makes sense. I did not realise that was possible with Partkeepr.

@Forceu
Copy link

Forceu commented Apr 15, 2022

The last time I implemented something like this homebrew I actually used
google sheets as a backend, but they removed part of their scripts API for
that.

Ever heard of Joplin? It's written on electron in js/ts and syncs to
whatever db you set. I really like the idea of making this db agnostic to a
degree and allowing users to host their data however they want as long as
there's a plugin / parser between our API and whatever storage.

Partkeepr should have its own independent database, I don't think it would make sense to use a 3rd party database.

@dromer
Copy link
Contributor

dromer commented Apr 16, 2022

Modern PHP is actually quite fast. Getting current PK codebase to that modern state though .. needs some many months of dedicated work and I'd rather see a team than a single person take on such a role.

However, even if we outsource/crowdfund such an endeavor we would still end up with a highly complex code-base that nobody can, or wants to maintain.
What we want is a sustainable long-term solution for the project. One that meets business compliant practices (latest security patches and proper SSO/ACL).

I'm willing to donate 3-figures to have someone, or a team, work on something like this. But how do we make sure that there is a core team that will do all the required maintenance and upkeep?

@ikcalB
Copy link
Contributor

ikcalB commented May 3, 2022

+1

ping to follow progress. not mainly a web dev, can help with testing / small bug fixes though!

@mindsolve
Copy link

mindsolve commented May 3, 2022

Even though I am just a hobbyist user, I believe PartKeepr has a future and would be willing to donate ~1000€ for a continued/restarted development effort (or smaller regular amounts). I sincerely believe PartKeepr deserves it.

But how do we make sure that there is a core team that will do all the required maintenance and upkeep?

That is also my biggest concern. Though hopefully by moving to a current technology stack, there is a larger pool of people with that kind of experience, reducing the complexity of finding a developer.

@Germwalker
Copy link
Author

I agree that funding to support at least the latest version of symphony is mandatory and could represent the least expensive (money, time) option. We first need to find a web develloper that will accept the deal and gives us an estimate in hours.

We will then need to raise the funds.

To everyone here interested in funding, tell us how much you can give the project for a full symphony 6 upgrade.

I'll be giving ~50€.

@mmabln
Copy link

mmabln commented May 3, 2022

I am also a hobbyist and currently looking for a part database. I looked on many free and even commercial products, but partkeepr (even in its current state) is exactly what I am looking for and would be my choice #1.

Most probably I will start using it for my home use, hopefully there are not too many bugs I have to deal with (I can correct small ones as I have some experience with php / python / c, but I am far away from being a real developer as I took the admin road in IT business).

However, I would like to see this project being renovated / resurrected. I would be willing to donate also ~50 EUR, which isn't too much when you have a look on commercial solutions with monthly subscription fees.

Thanks for the great work so far.

@ikcalB
Copy link
Contributor

ikcalB commented May 4, 2022

I've no experience which platform gets the most traffic from web devs - maybe someone else can chime in and set up a bounty?

I'm in with 250EUR myself.

@Tak-MK
Copy link

Tak-MK commented May 4, 2022

I wouldn't mind to donate money either to upgrade this project since most of the alternatives I found don't suite my needs...

@Forceu
Copy link

Forceu commented May 5, 2022

I would donate 100 Euros as well.
It would be a good idea to setup a proper bounty. I found bountysource.com which seems good, but they do have a 10% fee for cashing out.

@ikcalB
Copy link
Contributor

ikcalB commented May 7, 2022

@Forceu do you think, that percentage is worth the extra attention we cold gain?
(I'm not sure, but inclined to rather loose 10% than nothing happening)

@christianlupus do you mind to weigh in on this one?

@Forceu
Copy link

Forceu commented May 7, 2022

The 10% is for the amount when the bounty gets awarded. Personally I thought 10% is quite a lot, but I also do not know if there are better alternatives.

@dromer
Copy link
Contributor

dromer commented Jul 28, 2022

This is so good @Lopo ! Are these the OG tests working on your re-implemented modern symfony work?

Maybe lets call it "2.0alpha1" for now and start having people work on db migration/testing?
Can slowly improve on things like Octoport and other features, but I'm happy to have this as a 2.0-branch so we can start experimenting with deployments.

What are the min/max requirements for this?

Btw, maybe we should start a discussion about this topic. And organize a todo in the projects tab

@Lopo
Copy link

Lopo commented Jul 31, 2022

aaaaaaaand ... it's out ! ;)
https://github.com/Lopo/Limas

still can contain lot of stupidities, forgotten code, etc. ... so still lot of work to be done

@jgriessen
Copy link

Thanks! I'd like to test. Is the install same as partkeepr?

@flybysun
Copy link

flybysun commented Aug 5, 2022

Also big thanks from me! I'd be in for testing, but I have no idea how to actually start the server.

@Lopo
Copy link

Lopo commented Aug 5, 2022

actually, there's app:install console command ...
in short - git clone; composer install; create+chmod data dir, copy .env.dist to .env + edit; copy install.yaml.dist to install.yaml + edit, check/edit config/limas.yaml

when i finish some parts, I'll write it to doc ... or maybe someone other (with better english) can

now I'm working on security to be able to use ldap as pswd checker (it's really hard hacking :D )

@dromer
Copy link
Contributor

dromer commented Aug 5, 2022

@Lopo hmm, so with calling your project Limas you do not intend it to be the succession of PartKeepr? or like a PK2.0? or is this something you are open to?
I kind of hoped we could have this as a 2.0 release on this repo, but maybe that was wishful thinking.

@Lopo
Copy link

Lopo commented Aug 5, 2022

@dromer The naming it Limas was before the vote and discussion in this thread/issue. And also it was pragmatic - easy search parts that are still not ported or use original URLs/services etc.

Depends what it will mean to me ... what brings it to me as advantage, what limitations ... how you and others imagine it should be done and work in future ...
So I'm still open to the negotiations :D

@mindsolve
Copy link

mindsolve commented Aug 6, 2022

Really nice work, Lopo! I am so excited to try it out.

actually, there's app:install console command ... in short - git clone; composer install; create+chmod data dir, copy .env.dist to .env + edit; copy install.yaml.dist to install.yaml + edit, check/edit config/limas.yaml

when i finish some parts, I'll write it to doc ... or maybe someone other (with better english) can

@Lopo: It would be really nice for a basic installation guide... I have tried to get everything up and running for ~2 hours now, and it is still not running.
So just the basic info, what commands to run, what config to change, what webserver config to change (if any) - possibly also the system requirements (like that the project requires PHP 8.1).

  • In the current git state, the composer install fails with some error about missing env variable for octopart. So the settings in config/limas.yaml for octopart have to be commented out before running composer install
  • There is no file .env.dist
  • the webserver has to be set to public, not web anymore
  • after running php bin/console app:install install.yaml, the webinterface still doesn't work (lots of missing js files) - this is were I am now.

Should we discuss installation problems here, or better in issues over at the repo itself?

@Lopo
Copy link

Lopo commented Aug 7, 2022

@mindsolve Limas is still something like a tech-preview, not usable for production use, so creating any doc is not yet on my priority list (at least not high)
For now, it's meaned as preview for developers, so things, like web/public, .env.dist/.env/.env.local etc. are basic skills that should anyone have for now, because that are base skills for Symfony of these days
And the missing files - there's package.json + yarn.lock, so that means, you need to run yarn install and then yarn dev or yarn build (depends on env) ... but that's again something that properly skilled developer can see and figure out at first sight and is able overcome such small problems ;)

When I decide that it's stable enough, I'll properly test all steps and write some docs

@jgriessen
Copy link

jgriessen commented Aug 7, 2022 via email

@elias-sw
Copy link

Hello. I'm a software developer at a small company which uses PartKeepr for some 450 different parts.
I could spend a bit of my time contributing to keep this great software alive. I'm experienced in PHP+JavaScript+MySQL.

@dabeegmon
Copy link

dabeegmon commented Oct 11, 2022 via email

@Drachenkaetzchen
Copy link
Member

Partkeepr is an elegant solution but that solution stopped moving some 8 years ago and in software lifetime terms - - - - that's not exactly recent.

I released v0.75 less than 8 years ago, and since your "8 years" 15 versions all the way up to 1.4.0 have been released until I had to stop development for health reasons in 2018. Show a little respect to the developers, especially me, before throwing some arbitrary numbers here.

@dabeegmon
Copy link

dabeegmon commented Oct 11, 2022 via email

@fenugrec
Copy link

fenugrec commented Nov 4, 2022

bountysource.com which seems good, but they do have a 10% fee for cashing out.

Beware, I recall some drama regarding their terms of service changes (e.g. bounty expiry) and general behaviour. I suggest careful research, if this is still a candidate solution.

@afx303
Copy link

afx303 commented Mar 6, 2023

@mindsolve Limas is still something like a tech-preview, not usable for production use, so creating any doc is not yet on my priority list (at least not high) For now, it's meaned as preview for developers, so things, like web/public, .env.dist/.env/.env.local etc. are basic skills that should anyone have for now, because that are base skills for Symfony of these days And the missing files - there's package.json + yarn.lock, so that means, you need to run yarn install and then yarn dev or yarn build (depends on env) ... but that's again something that properly skilled developer can see and figure out at first sight and is able overcome such small problems ;)

When I decide that it's stable enough, I'll properly test all steps and write some docs

I installed your new version on windows, nice job! Patiently waiting for the DB conversion scripts.

@ECCOsea
Copy link

ECCOsea commented Apr 28, 2023

Im glat to found this perfect open project! I very hope it will be alive, and ready to donate.

What i very miss - this is sort by parameter and display parameters in table. (ie uF, V, and etc). I know that it can be done by write searching rule, but it is not convenient. It will be great if you add feature to define columns per folder and display and sort by component paramets. Sory, im not programmer, but i can participate in test, suggest some features, and a bit donate. Im electorinc engineeer with a lot of components, and there is the first free and usefull solution for me and other hobbyst!

@globular23
Copy link

The Limas rewrite sounds great, thank you for your efforts.
For the mean time I found some other alternative, after I run into problems keeping PartKeepr running after some forced PHP updates:
Part-DB (https://github.com/Part-DB/Part-DB-server) runs fine on modern PHP and seems quite similar to PartKeepr, with even some additional features. It offers a import possibility from PartKeepr, which worked pretty fine for my smaller database. However you loose metaparts and some other informations (which i did not really used in PartKeepr, so that was fine for me): https://docs.part-db.de/partkeepr_migration.html

Maybe that is interesting for some other guys here too, until the PartKeepr rewrite is finished.

@Germwalker
Copy link
Author

I'm also using PartDB, the interface and usability is not as good as Partkeepr but for now it's a good alternative. I've tried to import my Partkeepr database with the provided instructions but it just ended with a broken software, so i re - created everything.

@matmair
Copy link

matmair commented Jun 30, 2023

I switched to InvenTree a few years back, there is also a community data migration script from PartKeepr.

@ikcalB
Copy link
Contributor

ikcalB commented Jul 2, 2023

@matmair tnx for introducing me to InvenTree!

This looks already similar in terms of usability than partkeepr.
Can you already tell if there is bugs/you miss functionality?
How did the migration go?

@ptxmac
Copy link

ptxmac commented Jul 2, 2023

I also switched to InvenTree and haven't looked back!

Some things are a little clunky. E.g. clicking on a category goes to a page that only shows subcategories, and there's an extra click to get the actual parts in the category. There's also very limited support for batch editing.

But overall it does the job and is under active development!

@matmair
Copy link

matmair commented Jul 2, 2023

@ikcalB I switched at least 2 years ago and I am involved in development now. I added everything I was missing 😆.

@aarontc
Copy link

aarontc commented Jul 2, 2023

I switched to InvenTree a few years back, there is also a community data migration script from PartKeepr.

This looks really neat. Are you aware of where the docs might be for pk2inventree? The getting started link on the repo is 404.

@ikcalB
Copy link
Contributor

ikcalB commented Jul 3, 2023

@matmair sounds like a good idea!
Will see you there

@Lopo
Copy link

Lopo commented Jan 5, 2024

Limas got huge tech update: Symfony 7.0, Api-platform 3.2 ...

and already has PK import script/cmd, simple install instructions

some time i'm already testing docker-compose

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta for issues not related to the code itself but the repo, the wiki, the programming standards, etc.
Projects
None yet
Development

No branches or pull requests