Rule event for setting changed

Ok, another wild idea to have everyone scratching their heads…
How hard would it be to implement a rule event for setting being changed/saved in admin (ideally by section)?

Have raised the idea of constraining/predefining product tags before but didn’t gain much support but this would offer equivalent functionality but on a wider principle.

My thought…

Working on this PMS intergration (again) and many features of the scripts require relative fields in for example products - specificly a product tag field to relate samba product to PMS account/department.
If a value is used which doesn’t match available categories/‘gl_account’ it would cause ‘dropped’ orders/sales between samba and the PMS or API error responded.

On to the application…
Given it would allow a rule and in turn a script to be executed on a setting change we can validate said settings.
My example with product tags to PMS sales accounts would mean I would have a script which would pull a list of accounts from the PMS and validate all product tags (PMS Account field) against the available accounts and notify if a value was entered which is not relatable to the available accounts.

While as usual my idea is very specific I am sure this could have other possibilities for user customisation and if intergration a are to become more regular this type of ability would become invaluable.

Hope that makes sense…

Are you talking about the program settings we make and update via rules?

I’m having trouble following what your asking.

Ok I think I see what your asking. There is a problem with that. Under that logic it would not work. I mean it’s too generic and would trigger event on unwanted things.

You need events to be specific and with meaning. Also setting is a specific item we refer too, think Program Setting, so that’s not a good word to use.

Think about your request and try to be more specific.

I am going to use your term Setting for this but in practicality I really think you mean Configuration Change. I mean really think about it. How in the world could it watch for Setting Changed without knowing what setting. If its watching for all settings then does that sound practical?

Think about the current Rule structure does it sound like that would fit in this structure?

I am going to explain something that I hope others can understand as well. I hope I explain this well and please dont take it as me saying your ideas are bad, they are not bad.

It would be better if you presented your specific problem your trying to solve and lets find solution for that. We expand and explore features through this method the best. General Ideas are great but I will be honest most of the best expansions of SambaPOS happened when fixing very specific problems. When we see a specific prolblem and we brainstorm how to fix that problem we typically can come up with new features or ideas.

If we start with an idea but really dont know exactly what it will fix but kind of have idea… that doesnt really solve much nor does it really expand on features, its just an idea. I mean Emre would rather develop ideas that are meant for specific problems. When I say problems I dont really mean broken things It could be a configuration your trying to do but current features dont allow it.

I will give a great example and I am sorry some of you not in the Beta team may not understand this fully until next release. The latest Beta build you saw the insane new additions that will be coming soon hopefully, those came from me responding to several reoccuring problems of people trying to do the Delivery setup from V3 into v4 or even v5 because there never was an updated tutorial using newer tools since version 3. I took it upon myself to try and build it and update a tutorial for v5. Emre decided instead he will rebuild it from scratch to take advantage of newer features in v5. While he was working on that problem he saw several specific requests for things that were asked to solve specific problems and he was able to incorporate those into some TOTALLY amazing new features that hopefully everyone will see soon in next update.

So sorry for long post but last point then ill let it rest. As you will see with next release we have a TON of new features coming out and they were the result of Specific Problems that were explained in detail and through feedback Emre came up with some amazing new features that not just solve those problems but expanded capabilities because of them. Emre loves new features and he would add them every day for you but they must solve real problems not hypothetical problems.

You have a real problem or you wouldnt be asking for this. Its best if you explain the problem and work with us to find solutions to solve the problem Emre will design features and new ideas will flow through that. Dont expect every problem to be solved quickly, obviously he prioritizes things and typically he watches for similar needs and once he sees its starting to become a big need he solves it. Often while solving the problems new features happen that allow even better problems later! Yes in this case Problems are a GOOD thing :stuck_out_tongue:

Surely it’s not that hard to see what I am getting at!

The problem is I have a intergration script which will post a ticket on an order level to a booking PMS system.
The PMS fora not report using product group code or tags or states but has departmental accounts (gl_accounts)to breakdown accommodation/wet/dry sales etc.
Part of the scrip obviously need to decide which gl_account to put with each product/order.
This can be done many ways obviously but I opted for product custom tag.

The issue is there is no way to constrain/specify product tags or product group.

Obviously if the product tag doesn’t match directly a gl_account it would result in an error responce when running the scrip.

Setting might not be the correct term but I’m sure you know what I ment.
I mean it would be triggered when pressing save on for example the edit product page and the save on product tag editor.

Given we could then trigger a rule/script from that event SQL could be used to validate all menu items product tag (PMS department/PMS gl_account) against the available accounts on the PMS using the account list request of the API.

If I am reading this right, you are asking to have an event for Product Tag Value Updated, or GroupCode Updated. Pretty much exactly like Order State Updated.

The big difference is that you want it to watch for changes via Management, rather than through an Action such as Update Product Tag, or Update GroupCode.

I will take a wild guess here and say that this will never happen. Management is not something we should be monitoring. Management is for configuration only.

That said, if we do get Actions as mentioned above, then certainly we will get Rule Events to go along with them.

1 Like

My point is that although the flexibility of samba is great there are some occasions where said flexibility can make life difficult especially where trying to integrate two systems as you obviously need a command ground to have data ‘synced’

I mentioned before about maybe the ability to have an option of product tags for example where we can set the field to not be freely type-able but only able to select a value from a predefined list.
The answer was that the data is not stored in a way to allow this however I was not looking for a change in the way the data is stored but a option on the way we interface with the data ie the fields within the product configuration and product tag editor.

While I am not holding my breath on this happening I am merely trying to offer alternative ideas on alternative methods to validate/control some of the parts/data we input into samba.

Don’t get me wrong samba is awesome but complete unrestricted flexibility opens you up to human/user error and we should be able to validate/control aspects where required. A vast proportion of the system is based on constraints based on the information input however if the information itself is unconstrained there is a limit to what you can constrain against.
Other examples beyond my PMS integration include configurations for courses and other template formatting. You can define template formatting based on x by specifying possible x values however if x is open to all values there is a limit to what this can achieve and this is not just raw values, these types of settings are case sensitive etc also.

While a un restricted input is fine for smaller businesses with a single administrator how can samba be scaled up to large business and chains etc where administration roles need to be delegated, it would be extremely costly/time consuming to bring the delegated ‘managers’/local administrators to a full experience of the original administrator.
I am not talking about customizing a systems flow but more basic things like product administration which should be a relativity basic thing to delegate become much more complex if values required for the product admin cannot be defined to ensure system stability.

1 Like

Very large scale with large business typically has resources to develop their own solutions even more custom tailored involving considerably more backend support.

I don’t think the goal of Sambapos is that forward thinking. It evolves as it solves real problems for its users. Eventually it might hit that level but I’ll be honest I’m glad Emre priorities is NOT to try and please big business but he solves community problems. One day if it evolves to big business it means it has solved enough problems big business likes using it.

I get your point though. Perhaps Emre liked some of your product tag ideas but did not like the exact idea for implementation. Doesn’t mean idea was bad just practically it may not work like the idea thought it would. It also may have been a feature only one person would use maybe not he typically weighs that for ideas.

1 Like

I understand what your saying…

So wanting to ensure that the values set for product tags match those required is not a ‘real problem’?

I think you missed my point. He can easily add individual requests for specific problems but then you run risk of it not getting used much or it interfere with future ideas and have to be rewritten completely again. He weighs that with ideas that come in. It does not mean it’s not important.

Perhaps a solid solution just has not shown itself yet.

I think the “bigger picture” solution to this is to have a DB Monitor, like a FileWatcher.

This should allow for easier 3rd party integration, for example Online Orders, or the DrinkExchange …

We have discussed this before and I agree. I mean Twitter module is doing that now. Perhaps he just has not found a resource friendly solution yet.

Its fine, ill just work out having a validate settings automation command to run the script.

I was merely offering an idea, if your happy keeping full control over you system then fair enough but if the end goal isn’t to have someone else take responsibility so you can be able to sit back with your feet up or move on to the next improvement/project without worrying it will just come back to you when someone messed it up than that’s a shame

To be honest I am getting a little annoyed with the responce

Gives the impression that unless it crashes it doesn’t matter, this wasn’t a request or an issue just a question on an idea for an alternative solution to a previously suggested idea, which I wont bother with if they just get shunned every time.

Don’t confuse problem with issues. My current problem is a payroll and scheduling system. Right now it’s not possible but I’m confident I can make it possible.

I’ve asked for a few things and maybe now it’s not time so I try other things to solve my problem and yesterday I saw a few features made it in that were similar to what I asked but not exact they were better. I’ll continue to work on it but I won’t get discouraged if an idea I have for it is not added.

Sorry but you misunderstood my intent with what I told you. It’s probably my fault for poor comminication. I’ve been working on it for over 7 months now maybe more. I’ve gotten a crude system to work but like you often say it just doesn’t seem professional.

Hmm… Integration is two sided business. Both sides (apps) should be aware of that and should work together. So we have a PMS app and SambaPOS.

SambaPOS is flexible and we have an accessible community. … but that shouldn’t be a disadvantage for us. We’re discussing it in SambaPOS forums not because we’re responsible from that synchronization. We’re discussing it here because of our advantages. I know how important it is. I want to improve related features and integrate SambaPOS to everything… But please don’t criticize SambaPOS for that. I don’t want to take all responsibility and deal with specific integration issues while other side just activating licenses. I’ll allow you to do what you want but please keep in mind that interests me just to improve community’s business opportunities. Please don’t consider it like a SambaPOS drawback and bear with me…


@JTRTech I am sorry. Please dont get discouraged I try really hard to motivate you because your in the elite top of the community contributors you even contribute tons of features and dont even realize it sometimes. I will admit it you come up in Staff discussion sometimes and its always about your good ideas. Someone said something in a staff discussion about you and I thought it was great: You are very smart and you think of great ideas but sometimes your brain works faster than you and your thoughts get put down before you realize it:P Makes it hard for us to fully grasp your thoughts.

That sounds negative but its a good thing because everything you say is valuable… Ignore all the long crap I posted before because really what I was trying to say is dont get discouraged Emre will solve your problems sometimes it just takes time.

Forget the word Problem I think we had some confusion there. Just know that your ideas are great I am just trying to help you work with Emre more efficiently. I chose the word problem because Emre has used it in his descriptions of his general thought proccess so I assumed you had seen that before. It doesnt really mean a problem in bad sense or that something is broken. Think of Problem as a business need that solves a real issue going on in your business.

1 Like

@kendash thanks for that :smile:
To be honest I know you are right that some ideas are put forward to quickly sometimes without even fully grasping them myself which (the honest part) is often because the more ‘unsual’ ideas have come to mind after a few drinks in the pub and want to get ‘pen to paper’ as such before forgotten/while is fresh in mind.
I’m not sure if that is a good thing or bad that I am thinking about samba ideas while on a night out LOL

Just as a final note it wasn’t the term ‘problem’ but the acompanying ‘real’ which gives the impression that the idea/solution doesn’t solve anything that is of consern/actually a problem.
I understand this is probably not how it was meant but just wanted to make a statement on it.
I am not going to get discouraged as am heivily invested in the use of samba with thousands of pounds of epos equipment which its sale is depended on the use of samba, along with the PMS intergration which the hotel is not confirmed to switch to NewBook in late January meaning this intergration needs to be ready by early January. Which was heavily based on my assurance that I can offer a great solution on a good price for the business I have a day job with so can’t drop the ball on this one.

1 Like

Haha what I’m frequently referencing to is “Real Life Problem”… Not “Real Problem”. I think there is a typo or something. We don’t classify problems as real or fake and I’m %100 sure what kendash talking about is not that.

Adding picker for custom product tags solves a real life problem however constraining them may or may not solve a real life problem. We can say “there might be cases where users may enter incorrect values so it will be nice to have.” Sounds good but I quickly ignore when it comes like that. However if @QMcKay says, “I’ve implemented this and I need to constraint it here” I still ignore “I need constraint here” part but I carefully evaluate what he implemented and try to understand where he needs an improvement. The solution still can be implementing constraints or not but I generally consider that instead of just implementing what requested. So I never blame someone because they’ve pointed me to a wrong direction. I mean this is a good thing… lol …

1 Like

I think this is more of a terminology crossover on my part, I am not sure on how you differentiate between ‘constrain them’ and a ‘picker’, to me a drop down picker is a method of constraint?

I’m comparing currently working picker to constrained picker.

1 Like

Ok, the problem with current picker is it is simply a way to quickly select previously used values but still allows free typing over the top.

My ideal solution would be that the product tag field in program settings could be improved to offer the ‘constraint’ methods for the interface within product settings and product tag editor table. More simply put an option to prevent free-typing into the interface fields.

This would be very helpful for interrogations and template formatting options like courses where course is drawn from a product tag as the available options are restricted to options defined in the template and typo/case errors can be forgotten about.

This is what I was getting at with my previous idea on the subject;

I know you gave your reasons why this would not be practical which is why I was trying to come up with alternative solutions which could put the ability to achieve this constraint/control ourselves with scripting if it was deemed a low value improvement when time was considered for you to build it in to the software.