Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Feasibility question - Response to board content from unregistered user.

Started by h_smith, March 16, 2023, 10:15:58 AM

Previous topic - Next topic


I am a long time fan of SMF and I have hosted a special interest forum on my own server for 10 years (or more). It is a great piece of software and really maintenance free from my point of view.

I thought of an interesting use case for the software, behind it's core functionality as a forum. I am not a php developer so I cannot parse the code. While I am a software developer (embedded systems) and I do know Perl which has some similarities, I am not able to understand the overall structure of the code to know whether something could be added as a modification using customize core code, custom actions, or integration hooks, or whether the idea has feasibility to begin with. Rather than investing a lot of time investigating I thought that asking the experts.

The basic idea is that I would need to be able to invoke a custom action (for example, if that is the best way) to achieve the following without being logged in.

The custom code would need to:

1) Be able to interact with existing boards, search the board, post to a board (conditionally if a post does not exist in the specified board). This would be like a ghost-admin account with admin-like abilities like posting to boards with limited visibility to a regular user. This would obviously require some anti-hacking fineness to prevent misuse.

2) Respond via http with a response based upon searching a board, based on the post content if found, and respond to the requester with a custom response.

3) Achieving the above with the normal functionality of the forum.

If the above is possible, I have a very interesting use-case for SMF that I would like to pursue and perhaps contract someone to write the code.

The problem is that I do not know enough as to whether it can be done or the idea should be abandoned.

Thank you in advance.


I'm  sorry, but what you list in #1 doesn't make sense to me at all

you need to provide more specifics into your use case rather than generic

1) Be able to interact with existing boards,
   --- interact how?

search the board,
   --- search what board, for what?

post to a board (conditionally if a post does not exist in the specified board).
   --- this is the part that you really need to explain...   there is a custom forms mod that lets a user create a topic/post from an "external" form...   but your "conditionally" statement makes very little sense.

This would be like a ghost-admin account with admin-like abilities like posting to boards with limited visibility to a regular user.
   --- and then this becomes even more confusing...   why would anyone need admin-like abilities?

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."


Thank you for the comment. I am not sure why I did not have notifications turned on but I will double check. I was waiting for a reply but I never saw one in email

The idea is for independent software developers to basically implement a licensing server while having the full functionality of SMF for customer support that it is already ideally suited for.

What is missing (from my perspective) on the Internet is a nearly free method to run a licensing server on the Internet. I have looked at the offerings and the pricing schemes are tiered. If you start selling more than 100 copies, the services crank up your fees and your profits drop dramatically. They make no sense financially. You still need to do -something-.

Back to SMF, the idea is pretty simple, each unique software package has a board. That board has limited visibility to other users, only admins can see them. That is already doable by configuration.

The idea of a "ghost-admin" would be the ability to query the boards that normal users can't see. Each of these boards represents a software package. What is in these boards? Customer IDs and licensing information.

A remote application basically is sending to the forum, via an action as an example, a request to register software. The remote app is providing something simple like a MAC address or hard drive serial number already gathered by the remote app. This is of course encrypted. The board search is then done to locate the relevant record -or- if no record exist, create a post in the relevant board for the customer. At that point, the user is given a temporary license to run and when the admin verifies the account. The admins simply updates the post with the license data. Later, the remote app knowing it has a temporary license checks back periodically to poll for the valid permanent license. Once it receive the license data, it registers the app and that is the end of these licensing (for most apps). They can perhaps even register the app on multiple machines as the admin can see the registrations and provide limits via the license unique to that app. It gives the ISV a lot of flexibility with very little effort.

Why do all of this? A big problem for software developers, or Independent Software Vendors (ISVs) is that inventing a scheme to issue license and importantly the process of licensing software. For example, you can go the old route of asking an end user to provide you with some detail, like a MAC address on the machine. Then they send that to the company and the company devises a licensing algorithm and they respond back to the customer with a license file that the user must drop in to the application folder. This of course requires an interaction with the customer and an exchange of emails. This is an antiquated approach to software licensing.

When you consider that this works in some scenarios, this is really a potential nightmare when dealing with the public who have no idea what a hard drive tree structure is are how to even take an email attachment and drop it in to a folder. It is easy to forget that the average person is not savvy about how their computer works.

In an ideal situation the software is self-registering behind the scenes and they are not even aware that this licensing scheme is running. From their perspective it is a zero-effort situation. From the ISV perspective, they are permitting their software to run under their terms, almost effortlessly in comparison to other schemes or pay services on the Internet.

Why use SMF? Because it is an ideal forum software for product support that you have to have anyway. You need a place for customers to register, post-questions, and receive problem resolution and feature requests. One point to consider is that not all of your customers will feel the need to register with the forum or even interact with the vendor if they are completely satisfied with the product as-is. Therefore demanding that they join the forum to get a license is a throw back to email exchanges.

At the end of the day, you need SMF (or similar) from the get-go anyway. My choice is to go with SMF as my experience with it has been excellent for many years. There is also an array of inexpensive hosting options, point and click installs of SMF (X10Hosting for example). Using such hosting services you can get your costs down to as little as $5 per month. You cannot even power a server for that.

That is the outline of the idea. Sorry for the delay and taking the time to consider something offbeat and perhaps unrealistic! I appreciate it.


I should have added one small detail that might be a question. Where do the order numbers come from?

When you sell your product on say eBay or Amazon, almost all of these retail outlets have an order number that is not only given to the customer, it is giving to the vendor.

So as an example, two recent random purchases that I made:

eBay - 06-09754-87372
Amazon - 111-0832128-3919406

It does not really matter what the format of the order number is or the origin.

When the user runs the software, they are simply prompted to enter their order number. The rest is handled automatically. That is their single interaction with licensing. They can either cut and paste the number from their order page or they can manually type in the number. That's it. That is all that they need to do from their end to license the software.

On the SMF, the board might be "MyApp1.0". The post generated by the query by the app is then in the "MyApp1.0" board with the topic of "06-09754-87372". The admin then sees the new post and by typing within the response to the post, the licensing details of whatever form they choose.

Example response by admin:

License: Full
Expiry: Never


You are trying to make a forum software do something distinctly not Forum-like.

I imagine you COULD do what you say,  but I don't think you SHOULD.

I mean, a forum has a lot of overhead that you don't seem to need.

If you want to add a license request and validator, then why not ADD that? Why are you trying to repurpise messages?


Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."


Because a licence validation system costs money and he'll already have the forum anyway.

Except that this is all going to be custom code because none of the bits you actually need ship with SMF and hardwiring around it for this phantom ghost admin is no small feat.

You're looking at a good amount of money for someone to build this for you - but honestly, they're not going to implement it the way you're suggesting, they'd do it how it's *normally* done with APIs.