IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
The LDB Browser has now been rewritten as a SWAT module. That brings the
current number of modules to three: Samba Statistics/Status, LDB Browser and
API Documentation. This should provide a good working example for Brad and
his class, for how additional modules can be added.
The basic infrastructure for SWAT is now entirely in place. Next step is to
deal with putting the qooxdoo developers' kit someplace, as it is required for
making changes to SWAT, and reorganizing the swat directory hierarchy to
remove (or move to elsewhere) a bunch of old cruft. The final step will be
ensuring that SWAT installs during a Samba build, so that it becomes useful.
(Much of this "next" and "final" step stuff will likely have to wait until
after New Years.
Derrell
These next few check-ins will add a working Statistics module to SWAT, and add
an API Documentation module as well.
Next step will be to modify the LDB browser to work with this new module and
fsm structure.
Derrell
for easily adding modules, and using as much common code as possible.
Although all modules are loaded to the browser as part of the application,
modules are not actually initialized, their finite state machines generated,
or their graphical user interfaces built until they are selected to be viewed
for the first time.
I'm checking this in at this early stage because I promised Brad some
check-ins a week ago, and the flu has kept me unable to do anything for the
past 10 days. Now that I'm back in working order, I hope to be building on
this regularly over the next few days.
Derrell
('configure.developer' or 'configure --enable-developer') may still have
problems as I'm not sure I got all of the paths right for that.
With the changes Tridge has made to the Main Menu in swat, given a
non-developer installation, you should be able to get to ldbbrowse via:
JSON/qooxdoo -> ldb browser
Derrell
With ldbbrowse, you can issue searches or browse the database in tree format.
To try it, ensure that "make installswat" is done (it's run by "make install"
so you shouldn't have to do anything special). Run smbd and connect with your
browser to http://localhost:901/apps/samba/utils/ldbbrowse.html
(It looks great in firefox. There's some problem with the layout in IE.
Maybe if I get really really motivated one of these days, I'll look into that.)
There's lots more that could be done with it, but as an example of using
qooxdoo and JSON-RPC, I think it accomplishes its task.
Enjoy!
Derrell
Issues left for the enterprising developers:
- Selection of the ldb file to open. This version always browses sam.ldb.
- When issuing a search which returns a huge amount of data, firefox times
out while adding the data to the page. The ldb functions on the server
should be upgraded to allow providing a starting offset in the result set,
and a limit of how many results to return. The application can then issue
multiple requests if necessary, to limit the amount of processing needed
to handle any single result set.
Next step for me is to make it look more like a Samba application and less
like a qooxdoo example application. Per Tridge's request, I'll leave the
debug console on the page.
Derrell
The 'Browse' tab is now doing something seemingly fairly reasonable. It's
entirely usable. Still pending is dealing with attribute values whose length
exceeds the width of the column (even if dynamic resizing of the column is
inadequate). A tooltip which pops up would be nice, but seems difficult to
achieve with the Table implementation since it's 'virtual' and the whole table
is one widget.
Derrell
This has the layout complete so anyone interested can see what a qooxdoo
application might look like. It doesn't yet issue any JSON-RPC calls to do
anything useful (that's next), and it still has the appearance of a qooxdoo
test rather than something unique to Samba. I'll adjust the appearance later.
This layout is loosely (or not so loosely) based on 'gq'. A few things in
this layout won't apply to an ldb browser, but they're there for the time
being anyway until I decide exactly what to do with them.
Derrell
Previously, we had to know (or guess) the host and domain guid at the
provision stage. Now we query the database post-provision, to extract
the values and fill in the zone file.
This allows us to generate a correct zone file in the Windows migration case.
In an effort to make SWAT easier to use, I have removed and renamed
some of the provision options.
I have also fixed a nasty issue in my js code. I had implictly
declared a global variable of the name 'join', with disasterious
results for any subsequent user of the string utility function:
esp exception - ASSERT at lib/appweb/ejs/ejsParser.c:2064, 0
Backtrace:
[ 0] substitute_var:20 -> list[i] = join("", list2)
[ 1] setup_file:9 -> data = substitute_var(data, subobj)
Andrew Bartlett
Doing this required reworking ejsnet, particularly so it could take a
set of credentials, not just a username and password argument.
This required fixing the ejsnet.js test script, which now adds and
deletes a user, and is run from 'make test'. This should prevent it
being broken again.
Deleting a user from ejsnet required that the matching backend be
added to libnet, hooking fortunetly onto already existing code for the
actual deletion.
The js credentials interface now handles the 'set machine account' flag.
New functions have been added to provision.js to wrap the basic
operations (so we can write a command line version, as well as the web
based version).
Andrew Bartlett
only allows stuffups, but doesn't benifit anyone. (If we were to
allow it, we should have it change every time the realm is modified,
character by character).
The command line provision script doesn't allow this either.
Andrew Bartlett
main provision script a bit, as the argument list was getting out of
control. (It has been replaced in part with an object).
This also returns the session_info from the auth code into ejs.
We still need access control allowing only root to re-provision.
Andrew Bartlett
This should allow us to provision to a 'normal' LDAP server.
Also add in 'session info' hooks (unused). Both of these need to be
hooked in on the webserver.
Andrew Bartlett