#foo

112 messages · Page 1 of 1 (latest)

clever juniper
#

Let me Google Salesforce lol...it's vaguely familiar

#

The Shadow Realms proposal mentioned it

#

Ayyyyy, no slowmode

little hinge
#

Both are low-code platforms, basically allowing you to build business-line logic apps without having to code the entire thing - kind of like dynamic forms. Don't like it personally, not as a developer.

clever juniper
#

"Dynamic Forms" reminds me of the form a certain college district has for K-12 dual enrollment

#

and I hate that too

little hinge
#

lol

clever juniper
#

Anyways, why do you want to commit exported XML?

#

Shouldn't that be treated like...a build artifact or a database?

little hinge
#

It's funny though, because I was working on a dynamic forms app prior to the reorg at my current job, but it was custom built. Basically allowed powerusers to create new forms for data collection and there's a mobile app so like, let's say you have a house inspection company and they go through and inspect the house, they can have a custom-built form and be able to enter all the data as they walk through, and it uploads to the backend and is stored in the database.

#

In source control (i.e. Git) you definitely want to commit changes to the CRM so you have versioning control. Also in those scenarios, typically you're using a CI/CD pipeline that automates builds and deploys to the environment, so it's more iterative and controllable rather than randos just making changes directly in the platform.

clever juniper
little hinge
#

Well I'm not sure exactly for Dynamics, but we use Jenkins to automate deploys to the platform and yea it's all the XML files and stuff. So whatever changes are in the solution that are stored in source control get deployed to the actual environment after code reviews.

clever juniper
clever juniper
little hinge
#

Yea it's just that in order to extend functionality, the base platform doesn't offer it but does offer plugins that let you run a variety of languages to do sort of middleware operations. We're using C# and Java mostly.

clever juniper
#

C# and Java

little hinge
#

The platform solution, basically all your Dynamics entities, forms, views, etc. are represented in XML.
Any plugins you might use can be in any language.

#

If the platform supports.

#

And yea I don't know why they're using both C# and Java.

clever juniper
#

Or are you using WebAssembly?

little hinge
#

Not that I'm aware of. It's an out of the box thing with Dynamics. You just supply the code in the plugin and Dynamics will do the thing.
We're also using Liquid templates for transposing data into client-side views/portals. Think of it like a templating engine.

clever juniper
#

Weird

#

It seems unclean

#

I think my school district might have used Dynamics...

#

It's a Microsoft thing, right?

#

Yeah

little hinge
#

Yea I don't like it. It's too much abstraction. I'm used to working in entirely custom apps. And it's the reason I accepted an offer recently at another company (for a 42.8% increase of salary!).

clever juniper
#

Amazing

little hinge
#

Yea Dynamics is MS's version of basically... Salesforce

clever juniper
#

Okay

clever juniper
little hinge
#

Depends, you can use the default CSS and stuff but you do have the option to use stuff like Bootstrap or whatever custom stuff you decide to code in to the client side portals.

clever juniper
#

Oh

#

I'm just wondering where the heck this UI came from

little hinge
#

Could be anything. Maybe if you inspect with dev tools and look at how the elements are named, their classes, etc. you might get a hint.

clever juniper
#

A wide assortment of CSS files

little hinge
#

Yea I see those exact libraries in our portal code

#

powerapps, as well, is MS Dynamics

clever juniper
#

I definitely don't think that UI is made with Bootstrap

little hinge
#

Might have a reference but not being used

clever juniper
#

are you joking

little hinge
#

App is definitely a Dynamics portal though, the "powerapps" gives it away.

clever juniper
#

For context, last school year, all LAUSD students and probably teachers (2nd largest school district in the US by the way) had to use this web app to enter their school

#

Everyone signs in with their LAUSD Microsoft account and answers two questions

little hinge
#

Yep, probably using Azure AD B2C

clever juniper
#

And then, you get a QR code

#

and the staff scans the QR code

#

and then you can get in

#

Not very advanced

#

The QR code is just a UUID

little hinge
#

Sounds like a custom user flow or policy.

clever juniper
#

Overall, it's a very stupid system

little hinge
#

I agree in a sense - the primary value of the platform is you can get business functionality without designing the entire system.

clever juniper
clever juniper
#

It does what it's supposed to do

#

Is it great? No, hell no

#

I found where Bootstrap is used

#

Oh, the tables use it too

#

By the way, LAUSD suffered a ransomware attack earlier this year

little hinge
#

Gotta say, whoever designed the UI was definitely not a UX expert. I mean, functionally it seems fine but whoever did it has no taste.

clever juniper
#

Even I have better taste lol

clever juniper
#

The bad part is almost no one could log in to their LAUSD account

#

The good part is almost no one could log into the LMS, Schoology, using their LAUSD account

#

so almost no one could submit assignments

little hinge
#

Weird. Not sure how ransomware would affect Dynamics or its login mechanisms.

clever juniper
#

Don't ask me

#

LAUSD has some on-premises stuff I think

#

regular ol' organization login

little hinge
#

Usually you see that via an email vector, running a malicious executable attachment and, the local user has file shares to critical systems where those files are then encrypted.

#

Yea that's definitely MS

#

B2C likely.

clever juniper
#

obviously with a different logo and all

little hinge
#

Yea that's the org-side stuff, basically the identity provider. Custom page for the user to log in and authenticate to the directory (in this case probably Azure AD), then an SSO flow (whether OpenID, SAML, etc.) occurs and a token is sent to the application which authorizes them in.

clever juniper
#

SAML

clever juniper
#

I understood what you said

#

But as for how they got infected

#

¯_(ツ)_/¯

little hinge
#

Yea, so that auth mechanism will send an AuthN response to the service provider (the app) for authorization. But the flow is a little different from the start depending on whether it's IDP-initiated or SP-initiated.

clever juniper
#

The same credentials are also used for Google accounts by the way

little hinge
#

If you search for SAML idp vs sp initiated you'll see a bunch of diagrams for it. I've had to implement SAML SSO for multiple apps / projects.

clever juniper
#

Or, what, OpenID?

little hinge
#

They do.

#

You can use whatever you want if the platform supports it.

clever juniper
little hinge
#

The only way I could see it is if it was on-prem. But that's not the case unless they're using a local Active Directory server versus Azure AD or some other cloud directory.

clever juniper
#

They even have their own AS number

little hinge
#

Oh wow, as in routing?

clever juniper
#

They have a block of IP addresses assigned to them

little hinge
#

Yea my current co has their own block as well.

#

When you look at ARIN

clever juniper
#

mylogin.lausd.net (which, since the ransomware attack, can only be accessed from within LAUSD's network) has an IP address of 204.108.65.79

#

Passwords are changed through that site

little hinge
#

Yep, whois on that IP is LAUSD

clever juniper
#

Indeed

little hinge
#

But that would be the public IP assigned to the public interface of their edge firewall.

#

wat

clever juniper
#

LAUSD's network (accessible at each school through Wi-Fi and Ethernet as far as I know) uses some firewall from Palo Alto Networks

#

Funny thing