Jump to content

EidolonHost

Members
  • Posts

    281
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by EidolonHost

  1. Hooboy, this is quite the advanced module. I'm almost tempted to stop development of my Dedicated Server Module and let this one take over... but I think, that is probably not a wise idea. More modules may be a good thing... but I think this one will probably win out in the end.
  2. Nice. I'll make sure to make use of that function when it gets released in my dedicated server module. For now I think I'll figure out something with the existing solusvm hostname validator. It'll be nice to transition to one that's validated in the solusvm module.
  3. Changes have been pushed to development branch. I should update the readme on Github to do pull requests and the like to the development branch...
  4. I'm about to push a new copy of the script with the stuff that a dedicated server provider would need. At least, I think I've got it all... but if I didn't, it'll be trivial to add the stuff admin-side. Client-side, I'm still figuring out the logic. But I can tell you what I would personally need in a module. Admin-side, there would be the following fields I would need: 1. Server ID # (also known as device id in this new copy) 2. Server IP # (also known as device ip) 3. Location 4. Datacenter Clients should be able to set hostname, username other than root/Administrator if they don't want to use root/Administrator for Linux/Windows based systems, in addition to choosing what type of server it needs to be. As for fields that should be in a Package... that's usually dependent on the individual using the module. I think I've got the best set-up that'd work as a module right now, but... there is that slight bit of uncertainty, as if I might be missing something. Yeah, as said in the original post, it's based on the SolusVM module. Eventually we'll probably migrate away from the SolusVM code to our own module code. For now, the SolusVM module gets us very close to what a dedicated server module should be. It gives me an opportunity to learn how the module should work and how I might want to write one from scratch. Give me about 5 minutes and I'll upload a new updated copy of the module to Github.
  5. Yeah, adding conditional logic is an absolute necessity for this module... I realized this when I was trying to mess with config options. Obviously, since conditional logic won't be coming until much later... this'll be fun. Hopefully we'll be able to make it work here until it can be added to the core. So... while I said I wouldn't add it, I'm now changing my position to: I'll add it... but not directly. That is, others can add conditional logic support to this module. I myself have basically 0 idea how one would even implement conditional logic here. So look for that to come in a future module update.
  6. So last night, while I was in the shower (of course...) I was thinking about the module for some reason and had a thought, "That username and root field in Add Server screen... dude, you know that's the wrong place for it. Put Datacenter, Location, Rack as the options for the Add Server screen in its place!" And thus, an eureka moment was born. So, I will be adding those options into DSM shortly and pushing it to Github. Shouldn't be overly difficult to add, it's simply a text replacement and slight modification of the language file to account for the change. The Rack, row field will be added to the service side... at least, when I figure out how to do that for the admin-side because those're basically admin-only functions. But the Datacenter and Location field will be added to the Add Server screen. I'll update the screenshots after I do that to ensure people don't get confused. Edit: Dammit, I completely and utterly broke it. I'll have to rebuild it again from the last working copy I have. Thank goodness for version control.
  7. Awesome, glad to be working with ya.
  8. Thanks! Still a bit to go before I'll call it done. I didn't think I'd get the issues worked out fairly quickly as I expected to... maybe I'm finally starting to really understand Blesta and, to a degree, CodeIgniter code. Funnily enough, working on CodeIgniter code actually helped me to understand Blesta more easily. But I'm afraid I'm still a newbie when it comes to actually working with PHP and modules like this.
  9. The items you're asking about can be configured with Configurable Options. See the documentation for Configurable Options for more detail. Best place to do this. Sorry, but I'm not going to be adding those options to the module. I'll update the readme.md on Github and in the thread to include a link back to the Configurable Options document. Edit: @Max: That's unfortunate but understandable.
  10. That's correct. If you look at ... notice the Description section? And the Configurable Options? This is indeed the case for the module I'm working on. I've been working on getting the module to work properly for each of the actions you'd expect to do, so I apologize for the lack of images that show specific actions at work because I don't have it all working just yet. As soon as it all works, I will be updating the last 3 images and adding more images showing each action with all the options filled in, just as you normally would expect.
  11. That's the idea with my module. That's why I specifically stated what the module can and cannot do. Of course, if people want to have the other functionality added, that's fine by me. But by and large, this module is meant to simply let you create dedicated/colo servers and assign them to clients so they can see the details and the like. There's no actual ability to manage the server from the module. Edit: @Ravza, my question of the reseller functionality was directed at Max. I apologize for the unintentional confusion.
  12. I figured. Or well, those that have their own servers and network within a provider's space, such as colo customers. Still, I think something like this would be great. I wouldn't dare try implementing it, myself though... I'm just not familiar enough with everything. The only reason I even made the fast progress I did was because I was experimenting with things and basically figured out what worked and what didn't. I've yet to actually add code to it... well, other than the Notes code that I cribbed from the InterWorx module. Wait a minute, don't you have reseller functionality?
  13. Glad you like. I've pushed v0.0.2 to Github. Simply hit up the original post for the github link and download the latest version via the Download Zip button. You'll be able to add servers and the like... you just can't add them to client accounts, yet. That results in a fatal error. I'm still working on resolving this one.
  14. Version 0.0.2 has been pushed to Github!. Changelog: 1. Corrected Add/Edit Package issues. You are now able to add Dedicated Servers as a package in the Package section. 2. Removed most of node, plan and template code. Some of the code still remains, as I am not sure what the equivalent or replacement code would be. I'd need to have someone more experienced look at the code. Preferably the Blesta devs, if at all possible. Issues 1. Currently unable to add new service for dedicated servers to client's account via admin or log in as client functions. Results in either a white page or an error. Currently attempting to reproduce. 2. Still trying to figure out how to safely remove the remains of the code. Particularly the API code. It's not needed here for now. Heh. Edit: Ah right, I remember now.The issue is as follows: Oh noes! Undefined property: stdClass::$user_id on line 226 in /home/admin/public_html/testdomain.com/billing/components/modules/dsm/dsm.php There's another issue here. If I try removing $user_id, this results in another Oh Noes! error. If I fix that one as well, it results in a white page.
  15. I think what I'll do later is see if it's possible to work with other module devs to call other modules for OS reloads. Maybe NOC-PS's module? And if I recall correctly, but I may be misremembering, Blesta does have an IPAM module of a sort... but I don't use it.
  16. My thanks. Again, this is possible with Config Options. Since this is based on the SolusVM module, you should be able to add the configurable options with the specifics you desire. However, conditional logic won't be available until much later, as per Paul's word. Also, will be releasing version 0.0.2 fixing the Add and Edit Package issue. Remaining issue at present is successfully adding it to a client's account. I'll post the issue I'm having with it in the next post shortly.
  17. This is already possible, at least to a degree, by using Config Options. Conditional Logic won't be available in the core until much later, I think, based on Paul's word. If you want to work on this module, I'm perfectly happy to do so. I submit all of my code to Github for version control and to let others have an easy view of the code.
  18. All discussions on how the module works, code-wise and the like has now been moved here. Bug reports and the like can be posted here and in Github, preferably Github.
  19. This thread was created to discuss how the module works, code-wise. You may submit code to be merged into DSM with proper credits to you in a CREDITS file. This module was based on SolusVM module from Blesta's devs. As such, there are lots of SolusVM functionality still in this script. I'm working on removing them and cleaning up the module. I'm still wrapping my head around the validation rules that're presenting a major stumbling block. I'd be happy to have people submit code via Github and help with testing of the module via a development Blesta copy that they have. GITHUB LINK: DSM, also known as Dedicated Server Module THIS IS NOT SUITABLE FOR PRODUCTION USE YET What this module can do: 1. Create a Dedicated/Colo Server Group 2. Create servers for either group 3. Edit servers for either group 4. Delete servers for either group 5. Assign servers to customers. What this module CANNOT do: 1. OS Reloads 2. IP Management for Dedicated/Colos What needs work and may not work reliably 100% 1. Adding client's package, either via log in as client by admin, or via admin backend. 2. Editing client's package, either via log in as client by admin, or via admin backend. What DOES work and works reliably 100% 1. Installing module 2. Uninstalling module 3. Editing module details 4. Adding Server as a ackage 5. Editing Server as a package 6. Adding Servers via the Manage section of the module 7. Editing Servers via the Manage section of the module Screenshots galore! http://imgur.com/gallery/l63Wq Documentation Since this module makes use of Configurable Options, please see the Configurable Options for further details on how to add HDD, RAM, CPU, etc to your packages when configuring this module. Comments and Thoughts on Module I'm sure there will be questions about when this module will be ready for production use. I do not know when the module will be ready for production use, but I'm doing my best to get it into production ready state. With that said... I'm not a professional module developer. Thusly, if you spot issues and the like in the module, please either post about it here or open a Github issue and I will get right to work on fixing the issue or ask for help in fixing the issue. Also, my response times will be somewhat slow for some time, until July at the latest, as I don't have reliable internet access right now. So keep that in mind! Right now, I'm working on figuring out how the validation rules work. And for the love of god, I need to figure out how to safely remove the nodeid crap. It's making it difficult to reliably edit and add servers. I also have not yet figured out how to ensure the password is hashed and encrypted, as seen in screenshot #5 :U Is it even a good idea to have it set that way? Maybe use an SSH key for Linux servers instead? I have no idea what the equivalent is for Windows Servers and stuff, so... suggestions on this would be great. Also, as far as the Type option for the servers go, I was thinking of moving it to the Add Server screen so that the admin can set it as Windows or Linux when adding the server to be assigned to a customer. Thoughts on that?
  20. Please don't install it on a production Blesta install. Some things work, most do not. I'm still working on fixing the things that aren't working. The descriptions should show fine to the client. If you're familiar with the way packages are set up, you know what I mean.
  21. Ah, gotcha. Alrighty, I wasn't entirely sure. I was going by what they stated. Again... I did say I didn't look too closely at the code at the time. In that case... I suppose I best talk to Ubersmith to ensure we do have a Ubersmith module... this will be fun.
  22. You should be able to display the "base specs" or description of the package. Give me a bit to screenshot both of the items you're asking about. The module lets you do this. I didn't think to include the screenshots for both, so... my fault. Give me roughly 5 minutes and check back. You'll see the screenshots here and in Github. I have not gotten to the point where a client can see the service package yet... I'm still figuring out how to rework the SolusVM module. But this should be basically similar to where you can see SolusVM package details in the client dashboard. Edit, as promised!: Edit2: Note the Description field? Edit3: THIS IS NOT PRODUCTION READY! THIS IS ALPHA CODE! USE AT YOUR OWN RISK!
  23. You check out QuadraNET's API? It's here. They stated themselves directly to me via ticket that they use Ubersmith's APIs. The IP functions... they're probably what you stated. Yes. They stated they were happy to install and provide the stuff at no charge(I may be misremembering from the e-mail w/ Ubersmith) as long as this was the case. In the end though, I decided to not maintain a Ubersmith install for development purposes.
  24. Not a NameSilo user but am considering switching to them from Namecheap based on this thread.
  25. Hmm... that could very well be the case. I know you can extend Ubersmith API functionality to a degree. I wouldn't be surprised if that's what they did. We actually did talk with Ubersmith about having a development copy of Ubersmith installed so we could work on the Ubersmith API module for general use. But I think we'll just have ModulesBakery set the IP functions to be optional and not required from the admin side. Because clearly that's going to take some serious work to get the IP functions to work for anything other than Ubersmith managing the IP functions. That way people who want to use the Ubersmith/Blesta module, can do so without having to go with QuadraNET like we did for our colocation and servers. I didn't realize this was not part of Ubersmith's API documentation as I didn't look entirely too closely at the documentation... I know, I know, bad of me to do that. Well... that explains a lot. That makes obvious sense. Still, a bit of an ouch, either way.
×
×
  • Create New...