Loading...
Helix SwarmHelix Swarm
Loading...

p4_phoenix_services

  • //
  • guest/
  • perforce_software/
  • helix-web-services/
  • main/
  • p4_phoenix_services
  • Browse
  • Commits
  • Download .zip
Name Modified Size
..
clients
p4_phoenix_services
phoenix_updater
Change User Description Committed
13972 tjuricek Removing old microservice implementations.

The system is now mostly a monolith. Eventua
...lly there will be a websocket service. «
10 years ago
13635 tjuricek Exploring modular web applications with Sinatra.

If the app has fairly unique content p
...er page, Sinatra works really well actually. (Mostly because it's a thin layer over Rack.) Sharing anything though, basically means implementing a module or base class and implementing it everywhere.

An added benefit is that these applications could be used in Rails apps as well. I'd probably think hard about this, because Rails tends to be a resource hog.

Here's an example config.ru I used for running against the dev system:

require 'pms'

app = Pms::App.new

Pms::Login.settings.p4_web_api_url = http://172.16.100.20/p4_web_api/v1
ProjectApp.settings.phoenix_services_url = http://172.16.100.20/p4_phoenix_services/v1

app.settings.static = :true
app.settings.public_folder = File.absolute_path('../../ui/pms', __FILE__)

puts "public_folder is #{app.settings.public_folder}"

run app
«
10 years ago
13544 tjuricek Revise package and gem versioning.

Packages will use [gem]-[changelist] as their versio
...ns. Gems will use a standard Ruby MAJOR.MINOR.REVISION format.

P4WEBAPI-64
«
10 years ago
13535 tjuricek Add notification_services to deployment, and reconfigure build step to exec bash.

The e
...xecution bit doesn't seem to stay set on config/bash.sh

The notification_services service doesn't have advanced tests just yet.
«
10 years ago
13534 tjuricek Remove automatically generated license files and unused run.sh files. 10 years ago
13532 tjuricek Qt SDK: Add constructor that uses an application's QSettings for caching Sessions for each... URL

Added a simple validateSession remote call to ping the services instance to see if the session is indeed usable.

Also, removing puma configuraiton that is automatically generated in the (shared) development instance.
«
10 years ago
13530 tjuricek Add p4_phoenix_services package and Salt configuration for deployment.

This uncovered a
... couple of issues from the C++ API during it's conversion to C++03.

So, in a nutshell, most operations, except for notifications, appear to be working (well, using Vagrant machines).
«
10 years ago
13528 tjuricek Moved rack and app server configuration to be managed via Salt.

Also, only using a sing
...le value "url" to configure how the p4_project_services instance references the p4_web_api.

And, removing the Docker setup, since that won't work for a production system.
«
10 years ago
13488 tjuricek Added hsm:startworld and hsm:stopworld tasks to do global starts and stops.

This is not
... without apparent issues. It appears bundler or ruby is pausing before the nginx launch task happens. I'm not sure if there's some kind of resource issue first.

P4WEBAPI-49
«
11 years ago
13487 tjuricek Pushing host, port, and URL configuration into docker-compose.yml consistently.

All oth
...er configuration will be figured out by a separate system later.

P4WEBAPI-51
«
11 years ago
13482 tjuricek Fix issues with running the Phoenix test suite against basic CRUD operations.

Does *not
...* test the notifications mechanism, but we have preliminary phoenix project caching on create, and does generate a simple stream for each phoenix project. «
11 years ago
13478 tjuricek Added Docker configuration for notification services, and phoenix services, also, opened u...p most ports to the host by default.

The current configuration is now working first for a setup of "development mode" environments, anticipating that each service will use the private internal network for most services. That way, you can selectively run things, say, in your OS X environment, and other things in the docker cluster. It can make your debugging a little easier.

When more automation is available, we'll find a way to describe how to handle this in different ways.
«
11 years ago
13472 tjuricek Implementation of the phoenix services side of notification handling.

This is just impl
...ementation and work-in-progress.

Phoenix projects will now have paths cached in the phoenix services process, which we'll use to "guess" what file changes affect which Phoenix project. We basically see a changed path, then see that it might be relevant to one of the Phoenix project stream views, and then issue a "p4 changes -m1 //stream..." to see what the last change number is. If the change number goes up, we trigger an update.

Note that how this all gets configured is with an account from notification services to phoenix services, which ideally is some kind of system account that sees all relevant files. Otherwise, you'll likely get changes filtered by protections, and thus, updates may not get sent out.
«
11 years ago
13471 tjuricek Define some JSON messages for Qt API's websocket interaction.

Not tested... yet.
11 years ago
13470 tjuricek Phoenix notification services, client API, including new phoenix_updater

This is an int
...erim commit containing a first pass implementation of the phoenix_updater. Notably missing parts:

- The Qt API doesn't yet actually interact with the phoenix_updater
- The phoenix_services web service doesn't filter out notifications

I *may* end up creating another web application *just* to filter out notifications, since this may end up taking up a lot of background workers.
«
11 years ago
13464 tjuricek Allow filtering by owners and params. 11 years ago
13459 tjuricek Return the created project when creating a new project, since default values will often be... filled out.

Allow new projects to be created only with names set. We'll generate an ID at the moment, when I have better indexing, I'll double check for uniqueness.
«
11 years ago
13455 tjuricek Basic Phoenix project metadata (the project name) can now be created and read back. 11 years ago
13443 tjuricek Reorganized the Qt libraries into a separate part of the tree, to make it easier for CMake... configuration.

Added 'qt_build' and 'qt_test' tasks to at least execute tests and fail the build if they don't pass.

Started the implementation of the project library interaction.
Change: 1018651

Date: 3/4/15 11:43 AM

Client: tjuricek_dhcp-141-n100_5959

User: tjuricek

Status: pending

Type: public

Description:
Reorganized the Qt libraries into a separate part of the tree, to make it easier for CMake configuration.

Added 'qt_build' and 'qt_test' tasks to at least execute tests and fail the build if they don't pass.

Started the implementation of the project library interaction.


JobStatus:

Jobs:


Files:
//web-services/p4ws-main/Rakefile
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/CMakeLists.txt
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/PhoenixIntegrationTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/README
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixProject.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixProject.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/RequestError.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/RequestError.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/Session.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/Session.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/SessionTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/SessionTests.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/CMakeLists.txt
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Branch.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Branch.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Project.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Project.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/View.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/View.h
//web-services/p4ws-main/qt/CMakeLists.txt
//web-services/p4ws-main/qt/p4_phoenix_services_client/CMakeLists.txt
//web-services/p4ws-main/qt/p4_phoenix_services_client/PhoenixIntegrationTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/README
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixProject.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixProject.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/RequestError.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/RequestError.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/Session.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/Session.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/SessionTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/SessionTests.h
//web-services/p4ws-main/qt/p4_project_services_client/CMakeLists.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeCache.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeCCompiler.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeCXXCompiler.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeDetermineCompilerABI_C.bin
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeDetermineCompilerABI_CXX.bin
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeSystem.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdC/CMakeCCompilerId.c
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdC/a.out
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdCXX/CMakeCXXCompilerId.cpp
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdCXX/a.out
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/CMakeDirectoryInformation.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/CMakeOutput.log
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/Makefile.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/Makefile2
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/TargetDirectories.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/cmake.check_cache
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/DependInfo.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/build.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/cmake_clean.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/cmake_clean_target.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/depend.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/flags.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/link.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/progress.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/progress.marks
//web-services/p4ws-main/qt/p4_project_services_client/build/Makefile
//web-services/p4ws-main/qt/p4_project_services_client/build/cmake_install.cmake
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Branch.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Branch.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Project.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Project.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/View.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/View.h
«
11 years ago
13441 tjuricek As an interim step, allow the application/json Accept type to return the p4d ticket for th...e server.

In the future, there will likely be an adjustment to the POST request to store a separate host we attempt to generate a ticket for. Right now, these are host unlocked tickets, and not the production solution.
«
11 years ago
13439 tjuricek Added a *very trivial* logIn implementation.

This just makes the *current* POST request
... to /p4_phoenix_services/v1/sessions, which *does not* include the ability to create a host locked P4 ticket for the user. So it's not quite usable yet. But, I've made several tweaks to the API which should be stablizing. «
11 years ago
13437 tjuricek Naive Session implementation with sanity "I think I remember C++" test. 11 years ago
13435 tjuricek Added framework for QtTest to the p4_phoenix_services qt client (and fixing stupid compile... errors).

Also, ignoring .DS_Store.
«
11 years ago
13425 tjuricek Fixing crappy-ass whitespace 11 years ago
13424 tjuricek First-pass at Qt Client API for Phoenix web services.

The underlying project data is or
...ganized as the basic 'p4_project_services' API, which is then used by the higher-level 'phoenix' API, just to cut down on a lot of potential boiler plate. The base project model should allow for custom extensions, but it's aniticpated that the product-specific stuff doesn't really need to care too much about this. We just need to make sure that if new product extensions exist that the C++ API doesn't know about, they: a.) don't explode on read because there's something new, and b.) don't just delete the extension code.

These are *just headers* to get the ball rolling on the needs of the Phoenix engine. Things like 'sessions' are interesting and may have been overlooked.
«
11 years ago
13421 tjuricek Skeleton of the p4 phoenix services

It's very likely that real 'business logic' will ne
...ed to happen, but a lot of that is TBD. This is mostly to get the infrastructure in place before we start adding details, like, 'every new project lives under //phoenix/[project]/...', yada yada yada. «
11 years ago